【问题标题】:Warning is shown when hovering mouse over QToolButton actions将鼠标悬停在 QToolButton 动作上时显示警告
【发布时间】:2014-12-20 06:22:13
【问题描述】:

我创建了一个QToolButton,其中包含以下操作:

QToolButton * toolBut1 = new QToolButton(this);

actionGroup1 = new QActionGroup(this);
actionGroup1->setExclusive(true);

action1 = new QAction(QIcon(":/images/icon1"),"", actionGroup1);
action1->setCheckable(true);

action2 = new QAction(QIcon(":/images/icon2"),"", actionGroup1);
action2->setCheckable(true);

action3 = new QAction(QIcon(":/images/icon3"),"", actionGroup1);
action3->setCheckable(true);

toolBut1->addAction(action1);
toolBut1->addAction(action2);
toolBut1->addAction(action3);

但是当我将鼠标指针悬停在操作上时,应用程序输出中会显示一些警告:

QGradient::setColorAt: 颜色位置必须在0到1的范围内指定

为什么会这样?如何解决?

附:我在 Windows 7 上使用 Qt 4.8.4。

【问题讨论】:

  • 您没有将项目移植到 Qt 5 吗?至少可以试试 4.8.6 吗?
  • 对于QToolButton,我从未使用过多个QAction。你的意思可能是QToolBar

标签: c++ qt qt4 qaction


【解决方案1】:

我为这些操作设置了不同的名称,结果是不再显示警告。

QToolButton * toolBut1 = new QToolButton(this);

actionGroup1 = new QActionGroup(this);
actionGroup1->setExclusive(true);

action1 = new QAction(QIcon(":/images/icon1"),"act1", actionGroup1);
action1->setCheckable(true);

action2 = new QAction(QIcon(":/images/icon2"),"act2", actionGroup1);
action2->setCheckable(true);

action3 = new QAction(QIcon(":/images/icon3"),"act3", actionGroup1);
action3->setCheckable(true);

toolBut1->addAction(action1);
toolBut1->addAction(action2);
toolBut1->addAction(action3);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多