2011-08-02 17 views
5

Qt Framework için yeni ...QT çerçevesinde bir kullanıcı arabiriminde "* .png" dosyası nasıl görüntülenir?

benim Form1.ui bir .png pic görüntülemek istediğiniz, yüzden sürüklenen ve ardından Widget kutusundan bir grafik görünümü düştü I test.png yerleştirilir (proje klasörünün içindeki) aynı dizin

ve ben mükemmel derlenmiş ama pic görünmedi kodu

//Form1.cpp 
#include "form1.h" 
#include "ui_form1.h" 

Form1::Form1(QWidget *parent) : 
    QWidget(parent), 
    ui(new Ui::Form1) 
{ 
    ui->setupUi(this); 
    ui->Pic1->setStyleSheet("background-image: url(test.png)"); 

} 

Form1::~Form1() 
{ 
    delete ui; 
} 



//Form1.h 
#ifndef FORM1_H 
#define FORM1_H 

#include <QWidget> 

namespace Ui { 
    class Form1; 
} 

class Form1 : public QWidget 
{ 
    Q_OBJECT 

public: 
    explicit Form1(QWidget *parent = 0); 
    ~Form1(); 

private: 
    Ui::Form1 *ui; 
}; 

#endif // FORM1_H 

bu yaptım ne Yanlış yaptım? Eğer kaynaklarda png varsa, belki Arka plan resmi değiştirme http://doc.qt.io/qt-5/resources.html

cevap

11

Resimleri göstermek için kullanmanız gereken Widget QLabel. QtCreator'dan, pixmap özelliğini ayarlayarak doğrudan yapabilirsiniz. Diğerleri de dediğimiz gibi, önce bir kaynak dosyası oluşturup görüntüyü o kaynak dosyasına eklemelisiniz. Qt Kaynak Dosyası oluşturmak için menülere gidin: Dosya> Qt> Qt Resource File.

DÜZENLEME programlama yapmak için:

//names starting with : means that they are on a resource file, 
//otherwise in the filesystem 
QPixmap * mypix = new QPixmap(":/karim/test.png"); 
ui->your_label->setPixmap(mypix); 
delete mypix; 
+0

Sevgili hexa, ur yanıtı için teşekkürler, Qlabel'in nasıl kullanılacağını ve pixmap'in nasıl ayarlanacağını gösterebilir misin? Ben gerçekten takdir ediyorum ..., eğer sen benim kod daha fazla yazabilirim ki böylece nerede yardımcı olabilir biliyorum ... Kaynak Dosya için bir kaynak dosyası oluşturduk, sonra karim.qrc açtım, ekledim bir önek "/ karim" ve ben bir test.png dosyası ekledim ve bunların hepsi bu komutu nasıl değiştirecek?> Pic1-> setStyleSheet ("background-image: url (:/test.png)"); – karim

+0

karim, sadece bir QLabel formuna ekleyin, daha sonra özelliklerine gidin, mavi renk özellikleri altında aşağıya doğru ilerleyin, pixmap 3'dür. Orada '...' tıklayın ve/karim önekinden test.png 'yi seçin. –

+0

teşekkürler: D mükemmel bir şekilde çalıştı – karim

0

:

bu

benim QRC olan etiket:

ui->Pic1->setStyleSheet("background-image: url(:/test.png)"); 
+0

Değerli fredg, Qt Creator kullanıyorum, ben bir kaynak dosyası, karim.qrc yaptı sonra ben ama hala hiçbir sonuç, .png dosyasını ekledi. Bu kod satırı doğru mu? ui-> Pic1-> setStyleSheet ("background-image: url (test.png)"); – karim

0

: Bir kaynak dosyasına resim eklemek gerekir

+0

işe yaramadı, lütfen main.cpp ya da başlıklarda hiçbir şey yapmadığımı unutmayın. orada bir şey yapmalı mıyım ??? Kaynak Dosya için bir kaynak dosyası oluşturdum, sonra karim.qrc'yi açtım, bir önek ekledim "/ karim" ve bir test.png dosyası ekledim ve bunların hepsi bu komutu nasıl değiştirecek? -> Pic1-> setStyleSheet ("background-image: url (:/test.png)"); – karim

+0

Olması gerekmiyordu: /karim/test.png? – Pete

+0

veya muhtemelen kaynak dosyasında bir takma ad yerleştirerek görüntünün alt yolu bulunmuyor. – Pete

İlgili konular