QT - 如何激活 QPushButton On/Off 图标名称
QT - How to get QPushButton Active On/Off Icon Name
我特别想获得 qPushButton 图标的活动 on/off 名称。我试着像在我的代码中那样先记录图标名称,但即使我尝试以编程方式制作图标,输出也始终为空,知道如何解决这个问题吗?
这是我尝试记录图标名称的代码:
qDebug() << "icon name " << ui->btnWestern1_2->icon().name(); //output: empty string
只是为了验证我的 objective 是为了获得活动的 on/off 名称,而不仅仅是图标名称,但对我没有任何作用。
我正在使用 Qt 5.2.1
你不能。 icon name
方法对您的情况没有用。
图标是用文件名创建的,但文件名没有存储在任何地方。
参见 this answer
您可以通过查看 uic
ui_XXX.h
文件来检查按钮的创建方式。
如果您想以编程方式进行,您可以 property
到包含两个图标的按钮 (on/off)?
这是一个(未测试的)提示:
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");
我特别想获得 qPushButton 图标的活动 on/off 名称。我试着像在我的代码中那样先记录图标名称,但即使我尝试以编程方式制作图标,输出也始终为空,知道如何解决这个问题吗?
这是我尝试记录图标名称的代码:
qDebug() << "icon name " << ui->btnWestern1_2->icon().name(); //output: empty string
只是为了验证我的 objective 是为了获得活动的 on/off 名称,而不仅仅是图标名称,但对我没有任何作用。
我正在使用 Qt 5.2.1
你不能。 icon name
方法对您的情况没有用。
图标是用文件名创建的,但文件名没有存储在任何地方。 参见 this answer
您可以通过查看 uic
ui_XXX.h
文件来检查按钮的创建方式。
如果您想以编程方式进行,您可以 property
到包含两个图标的按钮 (on/off)?
这是一个(未测试的)提示:
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");