2016-05-12 16 views
2

Ich habe viele Buttons, auf die ich ein Icon setzen möchte. Außerdem ist dieses Symbol nicht für jede Taste gleich.Wie stelle ich verschiedene Symbole für verschiedene Tasten in Qt ein?

ich dies tun, nur für einen von ihnen:

QString str=(qApp->applicationDirPath()); 
str.append("/pic/kb.png"); 
QPixmap pixmap(str); 
QIcon ButtonIcon(pixmap); 
ui->btnShowKB->setIcon(ButtonIcon); 
ui->btnShowKB->setIconSize(pixmap.rect().size()); 

aber ich habe wirklich eine Menge Taste (btn1, btn2, Btn3, ...., btn9).

Wie kann ich andere Bilder für andere Tasten einstellen (/pic/1.png, /pic/2.png, /pic/3.png, ...., /pic/9.png)? Muss ich für jede eine neue QPixmap erstellen, oder gibt es eine einfachere Lösung?

Antwort

2

Die Art und Weise, wie Sie es tun, ist der Name der Datei und die Schaltfläche, auf die Sie ein Symbol setzen möchten. Sie sollten also eine Methode erstellen, die einen QString und eine Schaltfläche als Parameter verwendet, und sie aufrufen, wann immer Sie sie für die gewünschte Schaltfläche benötigen. (Im folgenden Code verwende ich eine QPushButton als eine Schaltfläche, vielleicht ist es anders für Sie, so ändern Sie es entsprechend).

void yourClass::setButtonIcon(QString iconPath, QPushButton* button) 
{ 
    qApp->applicationDirPath().append(iconPath); 
    QPixmap pixmap(str); 
    QIcon buttonIcon(pixmap); 
    button->setIcon(ButtonIcon); 
    button->setIconSize(pixmap.rect().size()); 
} 
+0

ja, ich habe dich gesagt, sagte. Vielen Dank. Es klappt. – MHM

3

Zunächst einmal, wenn Sie Designer verwenden, so verwenden Sie es vollständig, nicht nur zum Hinzufügen von Widgets. Sie können den Schaltflächen von dort ein Symbol hinzufügen. Fügen Sie Ihrem Projekt einfach eine Ressourcedatei hinzu, laden Sie Bilder dorthin und wählen Sie die benötigten Schaltflächen aus. Wenn Sie die Ressourcendatei nicht verwenden möchten, können Sie Bilder aus einem beliebigen Verzeichnis hochladen.

+0

danke. Kannst du mir ein Beispiel geben, dass ich es verstehe? Ich bin neu .sorry – MHM

+1

Gehen Sie zum Designer in Qt Creator, wählen Sie die benötigte Schaltfläche. Dann finden Sie auf der rechten Seite standardmäßig den Eigenschaftenbereich des Objekts. Dort finden Sie den 'QPushButton'-Bereich und finden Sie ** icon ** -Eigenschaft. Dort können Sie Ihr Symbol hinzufügen oder auswählen (wenn Sie eine Ressourcendatei verwenden). – someoneinthebox