PyQt/PySide 界面布局的选择与建议

2 天前
 BlueWaters

在使用 PyQt 和 PySide 进行界面布局时,大家更倾向于使用 Qt Designer 还是直接编写代码呢?我很好奇,大家的常用选择。另外,如果选择使用 Qt Designer 布局界面,我通常会在 GitHub 上寻找一些现成的组件库,但貌似这些库往往不支持在 Qt Designer 中使用,只能通过代码调用。这让我感到有点难受

1367 次点击
所在节点    Python
22 条回复
tairan2006
2 天前
直接写代码
NoOneNoBody
2 天前
直接写
Abbeyok
2 天前
直接写代码布局的我感觉都是神人,我都是用 QT Designer
XIVN1987
2 天前
Qt Designer ,,不过我写的程序一般比较简单。。
maxwel1
2 天前
QT Designer ,主要用于自己开发小工具,操作界面不是特别复杂。
fbichijing
2 天前
布局我自己倒是喜欢直接在界面上弄,非必要情况下不通过代码。不过这应该是个人喜好,没什么好与不好的。

> 如果选择使用 Qt Designer 布局界面,我通常会在 GitHub 上寻找一些现成的组件库
我不太理解这句话的意思。是它默认的控件里面有些功能需要对控件进行深度定制吗?如果只是单纯实现软件功能这一点的话,默认的控件大部分时候应该是足够的。
sinx003
2 天前
我都是混着来,有 Designer 方便点,没有灵活点。你们 leader 没要求,怎么舒服怎么来吧
BlueWaters
2 天前
@fbichijing 抱歉,我的表述可能有些不清楚。我的本意是在 GitHub 上寻找一些 UI 组件库,以便美化界面,但似乎这些组件库无法在 Qt Designer 中使用。
zypdominate1
2 天前
大佬们,推荐几个适合新手学习 PyQt 的项目练手,谢谢~
opiviqo
2 天前
必需用 Qt Designer 不要用别人的组件库
kuonkuon
2 天前
你说的这两种感觉应该搭配着来,我是先使用 Qt Designer ,将所以窗体、层级布局什么的拉好,详细参数全都不动,然后导出融入到自己的应用代码中,比手动敲快很多。之后就在代码中去写参数、跳转之类的,你说的美化也是。
jianchang512
2 天前
如果有较多动态插入、动态修改的界面元素,还是直接写代码比较方便

如果需要的所有元素除了 list/tree 这类布局内的子控件,都随着设计完毕完全显示在了界面上,使用 Designer 比较方便
NoOneNoBody
2 天前
@zypdominate1 #9
你这样问,又没有方向,无法推荐啊
凡是 GUI ,复杂的都是事件太多,每个都要响应,才能算“好”,举例:本来只是做同一件事(播放|暂停),你可能同时要做鼠标响应和键盘响应两个,只做其中一个,用户就觉得做得不好了

练手可以做后台计算较少的项目,界面工作可简可繁的,如 viewer, player 等
lightionight
2 天前
最近刚好公司要申请软著, 得有个壳, 也是用 pyqt 写, 建议是不要太折腾, 保证基本 UI 交互能用就行 , 根据需求和项目时长来选择不同的工具, 杀鸡用牛刀, 和 杀牛用小刀都不可取
niboy
2 天前
直接写代码
kanchi240
2 天前
@BlueWaters #8 简单美化下载一个主题就行了,我用的这个效果还行: https://github.com/5yutan5/QtVSCodeStyle
TrackBack
2 天前
如果三方库的组件是某个原生组件的上位替代,可以用 designer 右键的“提升为”。
一般情况可以先放一个 qwidget 当作占位符,然后提升为需要的组件
这样 uic 导出的时候会自动换成目标组件

最好的办法去组件库提 issue 让作者写好 designer plugin ,这样可以直接在 designer 里拖动和编辑组件属性
frayesshi1
1 天前
pyQt 或者 C++ Qt 的界面基本上都是直接写或者简单的用 Qt Designer ,如果那天能有 WPF 一样的商业组件就好了
sgld
1 天前
看情况吧,自己写感觉代码要简洁些,
tuduweb
1 天前
直接写代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1080739

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX