Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Turing от Февраля 02, 2006, 08:28 В Qt 4.1.0 изменили стандартный размер иконок QToolBar.
Решил уменьшить их. Код: toolBar->setIconSize(QSize(8, 8)); не работает !!! Код: int extent; не работает!!! Может я что-то не так делаю??? Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: nEoN от Февраля 02, 2006, 09:58 Я нашёл только одно решение - исправить в исходниках Qt одну константу 24 -> 16 и пересобрать Qt.
Для стилей windows/windowsXP файл Qt\4.1.0\src\gui\styles\qwindowsstyle.cpp Код: int QWindowsStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QWidget *widget) const Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Steven_Orko от Февраля 02, 2006, 16:06 Вообще, я изменял размер иконок QToolBar через setIconSize(QSize(16, 16));
добавлено спустя 57 секунд: Так что пересобирать, а уж тем более изменять исходники Qt, не надо :D Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: nEoN от Февраля 02, 2006, 16:08 В 4.1 под WinXP это не работает.
Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Steven_Orko от Февраля 02, 2006, 16:31 А ты где это пишешь? Надо в конструкторе. У меня и под 4.1 и под 4.0.1 в XP работает. Твой виджет с тулбаром - это QMainWindow?
добавлено спустя 12 минут: Цитата: "nEoN" В 4.1 под WinXP это не работает. Если уж на то пошло, чтобы изменять исходные коды, то, ИМХО, лучше тогда уж написать свой класс, наследовав его от упомянутых тобою стилей. А в нем уже переопределить функцию pixelMetric() так, чтобы именно для QToolBar она возвращала необходимый размер. Изменять исходники - это крайнее дело, и совсем некрасивое, так как потом, когда выйдет обновленная версия, твоя прога может минимум работать неправильно. Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: nEoN от Февраля 02, 2006, 16:34 По всякому пробовал, в Qt 4.1.0 кнопки на тулбарах остаются большими (24x24).
Например берём стандартный Qt-шный пример c:\Qt\4.1.0\examples\mainwindows\application. Добавляем в конструктор главного окна setIconSize(QSize(16, 16)) : Код: MainWindow::MainWindow() Пересобираем пример, и в результате ничего не меняется, кнопки на тулбаре остаётся такими же большими :?. Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Steven_Orko от Февраля 02, 2006, 16:38 Вообще, честно говоря, странно. Я просто недавно, как позавчера все выбирал, какие размеры мне лучше оставить (24 или 16). И вот щас пересобрал прогу, вроде все ок. Надо поглубже посмотреть. Можеть еще что менял. Но точно, не через стили.
Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: nEoN от Февраля 02, 2006, 16:49 Цитата: "Steven_Orko" Если уж на то пошло, чтобы изменять исходные коды, то, ИМХО, лучше тогда уж написать свой класс, наследовав его от упомянутых тобою стилей. А в нем уже переопределить функцию pixelMetric() так, чтобы именно для QToolBar она возвращала необходимый размер. Изменять исходники - это крайнее дело, и совсем некрасивое, так как потом, когда выйдет обновленная версия, твоя прога может минимум работать неправильно. По поводу Qt-шных исходников полностью с тобой согласен, изменять их крайне не желательно. Эту правку я использую как временное решение, которое не несёт за собой никаких последствий. Думаю в следущей версии они эту проблему исправят. добавлено спустя 7 минут: Кстати, вот он этот баг в Task Tracker'e у тролей : http://www.trolltech.com/developer/tasktracker.html?method=entry&id=97137 Resolution: Fixed Scheduled for: 4.1.1 Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Steven_Orko от Февраля 02, 2006, 17:01 Дело в том, у меня до последнего момента, пока я не пересобрал проект полностью, это работало. А теперь тоже не имеет эффекта. (((
Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: nEoN от Февраля 02, 2006, 17:11 Цитата: "Steven_Orko" Дело в том, у меня до последнего момента, пока я не пересобрал проект полностью, это работало. А теперь тоже не имеет эффекта. ((( Может до этого библиотеки не от Qt 4.1, а от Qt 4.0.1 поцеплялись. Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Steven_Orko от Февраля 02, 2006, 18:15 Я тоже так подумал, но когда поменял версию Qt, все осталось неизменным. Пересборка проекта непомогла. Странно. Буду разбираться...
Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Tirex от Февраля 15, 2006, 20:28 та же проблема пишу на Xp, под VS 2003 .net не менется размер ни в QTDesigner и в коде, никакой реакции, как решить проблему можно?
Название: Размер иконок QToolBar в Qt 4.1.0 Отправлено: Steven_Orko от Февраля 15, 2006, 22:47 Цитата: "Tirex" та же проблема пишу на Xp, под VS 2003 .net не менется размер ни в QTDesigner и в коде, никакой реакции, как решить проблему можно? Ждать следующей версии. |