2016-03-21 9 views
2

Ich möchte speziell den aktiven Ein/Aus-Namen des Symbols für den qPushButton erhalten. Ich habe versucht, zuerst den Icon-Namen wie auf meinem Code zu loggen, aber die Ausgabe war immer leer, auch wenn ich versuchte, ein Icon programmatisch zu machen, irgendeine Idee, wie man das löst?QT - Wie bekomme ich QPushButton aktiv Ein/Aus Icon Name

Hier ist mein Code für nur versuchen, das Symbol Namen zu protokollieren:

qDebug() < < "Symbolname" < < UI-> btnWestern1_2-> Symbol() Name();. // Ausgabe: leere Zeichenkette

Nur mein Ziel zu überprüfen, ist die aktive zu bekommen on/off Name nicht nur das Symbol Namen, aber nichts für mich funktioniert.

Ich bin mit Qt 5.2.1

enter image description here

Antwort

3

können Sie nicht. Das Symbol name Methode ist in Ihrem Fall nicht nützlich.

Das Symbol wird mit einem Dateinamen erstellt, aber der Dateiname wird nirgendwo gespeichert. Siehe this answer

Sie die Art und Weise überprüfen können Ihre Schaltfläche, indem man die uicui_XXX.h Datei erstellt wird.

Wenn Sie es progmatisch tun wollen, können Sie eine property auf die Schaltfläche mit den beiden Symbolen (ein/aus)?

Hier ist ein (nicht getestet) Hinweis:

QStringList icons = (QStringList() << "icon1.png" << "icon2.png"); 

QIcon my_icon; 
my_icon.addFile(QStringLiteral(icons[0]), QSize(), QIcon::Normal, QIcon::Off); 
my_icon.addFile(QStringLiteral(icons[1]), QSize(), QIcon::Normal, QIcon::On); 

QPushButton btn = new QPushButton(my_icon); 
btn->setProperty("icons",icons); 

qDebug() << btn->property("icons"); 
+0

Danke für die Antwort, kann aber ich weiß, wann ist „name“ Verfahren nützlich sein kann oder funktional sein? – Shuin

+0

sieht aus wie es verwendet wird, wenn ein Thema verwendet wird: http://doc.qt.io/qt-4.8/qicon.html#name – bibi