【问题标题】:QT - How to get QPushButton Active On/Off Icon NameQT - 如何获取 QPushButton Active On/Off 图标名称
【发布时间】:2016-03-21 19:36:06
【问题描述】:

我特别想获得 qPushButton 图标的活动开/关名称。我尝试先在代码中记录图标名称,但即使我尝试以编程方式制作图标,输出始终为空,知道如何解决这个问题吗?

这是我尝试记录图标名称的代码:

qDebug() btnWestern1_2->icon().name(); //输出:空字符串

只是为了验证我的目标是获取活动的开/关名称,而不仅仅是图标名称,但对我没有任何作用。

我正在使用 Qt 5.2.1

【问题讨论】:

    标签: qt qt-creator qpushbutton qicon


    【解决方案1】:

    你不能。图标name 方法在您的情况下没有用。

    图标是用文件名创建的,但文件名没有存储在任何地方。 见this answer

    您可以通过查看uic ui_XXX.h 文件来检查按钮的创建方式。

    如果您想以编程方式执行此操作,您可以将property 指向包含两个图标(开/关)的按钮?

    这是一个(未经测试的)提示:

    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");
    

    【讨论】:

    • 感谢您的回答,但我想知道“name”方法什么时候有用或有用吗?
    • 看起来像是在使用主题的情况下使用的:doc.qt.io/qt-4.8/qicon.html#name
    猜你喜欢
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多