Latest posts on Как сделать разный размер иконок для QMenuBar и QToolBar? topichttp://python.su/forum/topic/40526/2021-08-08T23:43:31+03:00Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-08-08T23:43:31+03:00Rodegast217779> А есть какой-то более новый способ сделать разные версии иконок под их разный размер?<br/><br/>Qt умеет хорошо масштабировать изображения. Разные иконки под разный размер уже не делают.
Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-08-04T08:13:16+03:00Vittorio217717В итоге всё решилось проще. Qt Designer совместно с pyuic5 генерят следующие участки кода для иконок действий:<br/><div class="code"><pre> <span class="n">icon</span> <span class="o">=</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="p">()</span>
<span class="n">icon</span><span class="o">.</span><span class="n">addPixmap</span><span class="p">(</span><span class="n">QtGui</span><span class="o">.</span><span class="n">QPixmap</span><span class="p">(</span><span class="s2">"copy.ico"</span><span class="p">),</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="o">.</span><span class="n">Normal</span><span class="p">,</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="o">.</span><span class="n">Off</span><span class="p">)</span>
</pre></div>Их надо заменить строкой:<br/><div class="code"><pre> <span class="n">icon</span> <span class="o">=</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="p">(</span><span class="s2">"copy.ico"</span><span class="p">)</span>
</pre></div><br/>> Неужели этим старьём ещё кто то пользуется?<br/>А есть какой-то более новый способ сделать разные версии иконок под их разный размер?
Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-07-30T16:11:35+03:00Rodegast217648<a href="https://coderoad.ru/45011006/%D0%9A%D0%B0%D0%BA-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-IconSize-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9-%D0%B2-QMenu">https://coderoad.ru/45011006/%D0%9A%D0%B0%D0%BA-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-IconSize-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B9-%D0%B2-QMenu</a>
Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-07-30T08:44:09+03:00Vittorio217643<blockquote><em>Rodegast</em><br/>У QMenuBar и QToolBar должны быть определены методы setIconSize вот ими и выставляй размер.</blockquote>У QMenuBar из коробки нет метода setIconSize (PyQt 5.15.4). Его надо самостоятельно писать?
Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-07-29T17:41:43+03:00Rodegast217636> Сделал *.ICO файл с несколькими слоями<br/><br/>Неужели этим старьём ещё кто то пользуется?<br/><br/>> Хочу сделать, чтобы в QMenuBar иконки QAction были 16х16, а в QToolBar - 24х24<br/><br/>У QMenuBar и QToolBar должны быть определены методы <strong>setIconSize</strong> вот ими и выставляй размер.
Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-07-29T15:56:44+03:00Vittorio217634Нашёл, как исправить, единственное не знаю, насколько это грамотно.<br/>Когда в Qt Designer создавал в “Редакторе действий” действие и привязывал значок посредством “Choose File…”, в компилированном *.py это выглядело как<br/><div class="code"><pre> <span class="n">icon</span> <span class="o">=</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="p">()</span>
<span class="n">icon</span><span class="o">.</span><span class="n">addPixmap</span><span class="p">(</span><span class="n">QtGui</span><span class="o">.</span><span class="n">QPixmap</span><span class="p">(</span><span class="s2">"UIs</span><span class="se">\\</span><span class="s2">../icons/copy.ico"</span><span class="p">),</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="o">.</span><span class="n">Normal</span><span class="p">,</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="o">.</span><span class="n">Off</span><span class="p">)</span>
</pre></div><br/>Если сей код вручную поменять на <br/><div class="code"><pre> <span class="n">icon</span> <span class="o">=</span> <span class="n">QtGui</span><span class="o">.</span><span class="n">QIcon</span><span class="p">(</span><span class="s2">"UIs</span><span class="se">\\</span><span class="s2">../icons/copy.ico"</span><span class="p">)</span>
</pre></div>то всё работает, как задумывалось.
Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-07-29T13:03:57+03:00PEHDOM217627<blockquote><em>Vittorio</em><br/>но после компиляции в *.py получается, что и меню, и тулбар используют только первый слой ICO-файла.<br/></blockquote>посмотрите в .py чего там прописано по поводу иконок.<br/>Вплоть до того что пропишите QMenuBar или QToolBar, (где там у вас не хватает) setWindowIcon принудительно.
Общий :: GUI :: Как сделать разный размер иконок для QMenuBar и QToolBar?
2021-07-29T10:52:20+03:00Vittorio217623Хочу сделать, чтобы в QMenuBar иконки QAction были 16х16, а в QToolBar - 24х24. Сделал *.ICO файл с несколькими слоями соответствующих размеров. В Qt Designer всё отображается как надо, но после компиляции в *.py получается, что и меню, и тулбар используют только первый слой ICO-файла.<br/><br/>Прошу помощи с правильным решением данной задачки. Нагуглил одну ссылку 2005 года, в которой говорилось, что на тот момент решения не было, может быть сейчас что-то изменилось?<br/>