在使用 PyQt 和 PySide 进行界面布局时,大家更倾向于使用 Qt Designer 还是直接编写代码呢?我很好奇,大家的常用选择。另外,如果选择使用 Qt Designer 布局界面,我通常会在 GitHub 上寻找一些现成的组件库,但貌似这些库往往不支持在 Qt Designer 中使用,只能通过代码调用。这让我感到有点难受
1 tairan2006 358 天前 via Android 直接写代码 |
2 NoOneNoBody 358 天前 直接写 |
![]() | 3 Ct5T66PVR1bW7b2z 358 天前 直接写代码布局的我感觉都是神人,我都是用 QT Designer |
![]() | 4 XIVN1987 358 天前 Qt Designer ,,不过我写的程序一般比较简单。。 |
![]() | 5 maxwel1 358 天前 QT Designer ,主要用于自己开发小工具,操作界面不是特别复杂。 |
6 fbichijing 358 天前 布局我自己倒是喜欢直接在界面上弄,非必要情况下不通过代码。不过这应该是个人喜好,没什么好与不好的。 > 如果选择使用 Qt Designer 布局界面,我通常会在 GitHub 上寻找一些现成的组件库 我不太理解这句话的意思。是它默认的控件里面有些功能需要对控件进行深度定制吗?如果只是单纯实现软件功能这一点的话,默认的控件大部分时候应该是足够的。 |
![]() | 7 sinx003 358 天前 我都是混着来,有 Designer 方便点,没有灵活点。你们 leader 没要求,怎么舒服怎么来吧 |
8 BlueWaters OP @fbichijing 抱歉,我的表述可能有些不清楚。我的本意是在 GitHub 上寻找一些 UI 组件库,以便美化界面,但似乎这些组件库无法在 Qt Designer 中使用。 |
![]() | 9 zypdominate1 358 天前 大佬们,推荐几个适合新手学习 PyQt 的项目练手,谢谢~ |
![]() | 10 opiviqo 358 天前 必需用 Qt Designer 不要用别人的组件库 |
![]() | 11 kuonkuon 358 天前 你说的这两种感觉应该搭配着来,我是先使用 Qt Designer ,将所以窗体、层级布局什么的拉好,详细参数全都不动,然后导出融入到自己的应用代码中,比手动敲快很多。之后就在代码中去写参数、跳转之类的,你说的美化也是。 |
12 jianchang512 358 天前 如果有较多动态插入、动态修改的界面元素,还是直接写代码比较方便 如果需要的所有元素除了 list/tree 这类布局内的子控件,都随着设计完毕完全显示在了界面上,使用 Designer 比较方便 |
13 NoOneNoBody 358 天前 @zypdominate1 #9 你这样问,又没有方向,无法推荐啊 凡是 GUI ,复杂的都是事件太多,每个都要响应,才能算“好”,举例:本来只是做同一件事(播放|暂停),你可能同时要做鼠标响应和键盘响应两个,只做其中一个,用户就觉得做得不好了 练手可以做后台计算较少的项目,界面工作可简可繁的,如 viewer, player 等 |
![]() | 14 lightionight 358 天前 最近刚好公司要申请软著, 得有个壳, 也是用 pyqt 写, 建议是不要太折腾, 保证基本 UI 交互能用就行 , 根据需求和项目时长来选择不同的工具, 杀鸡用牛刀, 和 杀牛用小刀都不可取 |
15 niboy 358 天前 直接写代码 |
16 kanchi240 358 天前 @BlueWaters #8 简单美化下载一个主题就行了,我用的这个效果还行: https://github.com/5yutan5/QtVSCodeStyle |
17 TrackBack 358 天前 如果三方库的组件是某个原生组件的上位替代,可以用 designer 右键的“提升为”。 一般情况可以先放一个 qwidget 当作占位符,然后提升为需要的组件 这样 uic 导出的时候会自动换成目标组件 最好的办法去组件库提 issue 让作者写好 designer plugin ,这样可以直接在 designer 里拖动和编辑组件属性 |
![]() | 18 frayesshi1 PRO pyQt 或者 C++ Qt 的界面基本上都是直接写或者简单的用 Qt Designer ,如果那天能有 WPF 一样的商业组件就好了 |
![]() | 19 sgld 358 天前 看情况吧,自己写感觉代码要简洁些, |
![]() | 20 tuduweb 358 天前 直接写代码 |
21 BlueWaters OP |
![]() | 22 iorilu 357 天前 有国人开发的 qt 美化界面 好像叫 fluent pyqt widgets 当然了, 要钱的, 如果想独立开发产品可以看看 |
![]() | 23 levelworm 353 天前 via Android 不知道是怎么样的布局呢?简单界面自己画应该就可以了。 |
![]() | 24 CassianVale 348 天前 @BlueWaters 推荐下 PyQt-SiliconUI ,用的时候注意开源协议 |
![]() | 25 CassianVale 348 天前 @kuonkuon 但是要把 Qt Designer 的代码解构出来也很麻烦啊,不如一开始就直接使用代码写布局和组件,Qt Designer 毕竟是有局限性的,要写一些动态组件它就做不到 |
![]() | 26 kuonkuon 347 天前 @CassianVale 额,因人而异吧,我也只写了几个小范围使用的客户端,觉得 Qt Designer 生成的类,直接继承挺方便的,毕竟所见即所得。 |