Russian Qt Forum

Qt => Общие вопросы => Тема начата: ecspertiza от Ноябрь 06, 2012, 08:45



Название: +1 к багам в Qt
Отправлено: ecspertiza от Ноябрь 06, 2012, 08:45
Наткнулся тут на одну багу в Qt может кому то будет полезна, для когото может она давно уже и извесна. Этот баг я словил только под маком, под Windows он не наблюдается, так же и под linux вроде на него не натыкался. Связан баг с иконкой в трее и саб меню. Если мы добавляем пункты в саб меню в трей, то у нас сразу пропадает возможность сделать setEnable(false). Вот пример кода

Код:
    QMenu *trayMenu = new QMenu();
    QSystemTrayIcon *trayIcon = new QSystemTrayIcon;

    QAction *actionFirst = new QAction("First",trayIcon);
    QAction *actionSecond = new QAction("Second",trayIcon);
    actionSecond->setEnabled(false);

    QMenu *subMenu = new QMenu("Sub menu");

    QAction *actionSubFirst = new QAction("Sub first",subMenu);
    QAction *actionSubSecond = new QAction("Sub second",subMenu);
    actionSubSecond->setEnabled(false);

    subMenu->addAction(actionSubFirst);
    subMenu->addAction(actionSubSecond);

    trayMenu->addAction(actionFirst);
    trayMenu->addAction(actionSecond);
    trayMenu->addMenu(subMenu);

    trayIcon->setContextMenu(trayMenu);

    QPixmap pxm(16,16);
    pxm.fill(QColor(Qt::red));

    trayIcon->setIcon(QIcon(pxm));
    trayIcon->show();

в trayMenu один пукт стоит в дизайбл и все здорово ,но в subMenu пункт actionSubSecond всеравно включен :) При этом setVisible отрабатывает хорошо.

Qt 4.8.1
Mac  OS X 10.7.4


Название: Re: +1 к багам в Qt
Отправлено: Bepec от Ноябрь 06, 2012, 10:20
Это не новость, что у них меню кривое. Данный баг так же отрабатывает, когда один пункт стоит в Main/Sub/tray меню. Ос и прочее у мну под ником написано :)



Название: Re: +1 к багам в Qt
Отправлено: UVV от Август 27, 2014, 22:50
Это не новость, что у них меню кривое. Данный баг так же отрабатывает, когда один пункт стоит в Main/Sub/tray меню. Ос и прочее у мну под ником написано :)



Этот баг до сих пор не исправлен?
Не могу найти его в bugtracker'e.


Название: Re: +1 к багам в Qt
Отправлено: Bepec от Август 28, 2014, 01:26
Не имею понятия. Для меня он несущественен и решается простым обходом вроде... Или чтото такое я помню :D Блин, голова дырявая.

Если очень нужно могу поднять исходники и посмотреть точнее.


Название: Re: +1 к багам в Qt
Отправлено: Igors от Август 28, 2014, 06:57
Подтверждаю (Mac, Qt 4.7.4), причем для main bar все то же самое - disabled субменю не дизаблит свои айтемы

Да, а на Вындоуз не помню, может все норм - но это уже значения не имеет


Название: Re: +1 к багам в Qt
Отправлено: UVV от Август 28, 2014, 08:53
Не-не, вроде бы отбой, у меня ошибка скорее всего в другом месте. Хотя тоже какой-то артефакт замечен, у меня QAction находится в ToolBar'e и в QMenu. Так вот на тулбаре отрабатывает, а в меню - нет. Но повторюсь, думаю, что проблема всё-таки в моём коде.