Название: workAreaResized Отправлено: pakulo от Май 11, 2007, 20:00 Почему-то не срабатывает сигнал QDesktopWidget.
connect(QApplication::desktop(), SIGNAL(workAreaResized(int)), this, SLOT(changePosition())); При изменении панели задач (перетягивая панельку на верх например) слот не вызывается... Почему возникла такая потребность в вызове сигнала... Получаю размер рабочей области через QApplication::desktop()->availableGeometry(); Но если передвинуть панель задач, то координаты остаются такими же как и при запуске приложения. Название: workAreaResized Отправлено: Разуев Максим от Май 11, 2007, 20:19 Проверь является ли changePosition слотом. (Он должен быть обьявлен в классе как слот). У меня тпк некоторые функции не вызывались.
Название: workAreaResized Отправлено: pakulo от Май 11, 2007, 20:53 да, обьявлен, иначе б QT ругался...
может кто у себя проверить? может это глюк в Qt 4.2.2? Название: workAreaResized Отправлено: Разуев Максим от Май 12, 2007, 01:16 тогда незнаю, а насчет ругани Qt то в том и дело что он не ругается, если даже в connect указать вообще левую функцию.
Название: workAreaResized Отправлено: pakulo от Май 12, 2007, 01:36 как это?
ругается еще й как :) включи конскольку и все будет видно... по другому он никак не может ругаться (если ты имеешь ввиду во время компиляции) Название: workAreaResized Отправлено: Разуев Максим от Май 12, 2007, 06:30 в консоли он может и ругается. Но программа получается вполне рабочей.
Название: workAreaResized Отправлено: pakulo от Май 12, 2007, 11:44 Конечно... по другому он никак не может ругаться, так как это ошибка не с++, а самого QT, посему ошибки он выдает в консоли.
Название: workAreaResized Отправлено: Tonal от Май 13, 2007, 11:02 connect(QApplication::desktop(), SIGNAL(workAreaResized(int)), this, SLOT(changePosition()));
По моему, слот должен int принимать... ;-) Название: workAreaResized Отправлено: pakulo от Май 13, 2007, 18:03 А разве если в слотах нету нужных аргументов то они не игнорируются?
Но всеравно не работает... |