【问题标题】:Qt - Get QPushButton icon nameQt - 获取 QPushButton 图标名称
【发布时间】:2013-02-25 08:22:43
【问题描述】:

我有两个状态的 QPushButton。我想为每个状态关联一个图标。

就像音乐播放器中的播放|暂停按钮。

为此,我想获取当前图标名称,以便了解下一个要设置的图标是什么。

我可以继承 QPushButton 但值得吗?

【问题讨论】:

  • 为什么不根据推送状态设置图标?使用QPushButton::ischecked()
  • 我试过了:myButton->setStyleSheet(":checked {image: url(:/img/pause.png);}"); 但它不起作用。

标签: c++ qt icons qpushbutton


【解决方案1】:

不是根据QPushButton 的状态设置图标,而是设置一个具有两种状态的QIcon,如果您将其与可检查的QPushButton 一起使用,Qt 将选择正确的图标。

QIcon icon = QIcon();
// 'Off' state corresponds to unchecked state of QPushButton
icon.addPixmap( QPixmap( ":/img/play.png" ), QIcon::Normal, QIcon::Off );
// 'On' state corresponds to checked state of QPushButton
icon.addPixmap( QPixmap( ":/img/pause.png" ), QIcon::Normal, QIcon::On );
QPushButton * button = new QPushButton();
button->setIcon( icon );
button->setCheckable( true );

【讨论】:

    【解决方案2】:

    使用 QPushButton::icon() 和 QIcon::name() 获取图标名称。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2021-05-12
    相关资源
    最近更新 更多