Я сделал 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
Почему это происходит? Как это исправить?
Постскриптум Я использую Qt 4.8.4 на Windows 7.
Я поставил разные имена для этих действий и результатом было то, что предупреждение больше не показывается.
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);