本文目录
PyQt5桌面应用系列
- PyQt5桌面应用开发(0/22):总结再出发
- PyQt5桌面应用开发(1):需求分析
- PyQt5桌面应用开发(2):事件循环
- PyQt5桌面应用开发(3):并行设计
- PyQt5桌面应用开发(4):界面设计
- PyQt5桌面应用开发(5):对话框
- PyQt5桌面应用开发(6):文件对话框
- PyQt5桌面应用开发(7):文本编辑+语法高亮与行号
- PyQt5桌面应用开发(8):从QInputDialog转进到函数参数传递
- PyQt5桌面应用开发(9):经典布局QMainWindow
- PyQt5桌面应用开发(10):界面布局基本支持
- PyQt5桌面应用开发(11):摸鱼也要讲基本法,两个字,16
- PyQt5桌面应用开发(12):QFile与线程安全
- PyQt5桌面应用开发(13):QGraphicsView框架
- PyQt5桌面应用开发(14):数据库+ModelView+QCharts
- PyQt5桌面应用开发(15):界面动画
- PyQt5桌面应用开发(16):定制化控件-QPainter绘图
- PyQt5桌面应用开发(17):类结构+QWebEngineView
- PyQt5桌面应用开发(18):自定义控件界面设计与实现
- PyQt5桌面应用开发(19):事件过滤器
- PyQt5桌面应用开发(20):界面设计结果自动测试(一)
- PyQt5桌面应用开发(21):界面设计结果自动测试(二)
How old are you, Dialog?
兜兜转转,觉得Dialog这个话题还有一点点可以写一篇。那就是QIputDialog。
我本人是不知道为啥要有这个类的。
因为我确实没感觉到有太大的需要,UI提供了在位的输入元素,比如QLineEdit、Spinner、Slider之类,直接输入就行,跳出一个对话框,让用户输入一个简单的文本、数字、浮点类型,到底有什么必要。
从用户体验上看,惊喜是应该尽可能少出现的,比如弹出一个对话框。我看到清华出版的那本《PyQt从入门到精通》里面关于QInputDialog的例子,点击一个文本框,弹出一个对话框,输入一个文本,点Ok关闭对话框,文本加入文本框。实在是叹为观止,惊为天人……
那么为什么我也写一个篇呢?有好几个理由。
- 我想找一个用它的理由;
- 我实在搬砖搬到“让用户体验毁灭吧!”
- 居然觉得这是一个搞清楚闭包的机会……【!】
QInputDialog minimalist
下面我们做一个最小化的QInputDialog的例子。


报表:
- 用户选择的整数显示在一个QLabel上;
- 用户选的数据可以打印出来
数据:
- 一个整数, ∈ [ 0 , 100 ] \in [0, 100] ∈

本文讨论了在PyQt5桌面应用开发中使用QInputDialog的原因和场景,尽管作者认为直接使用UI元素可能更方便。通过一个最小化示例,解释了如何使用QInputDialog来获取整数输入,并探讨了为何不使用lambda函数以及partial函数的工作原理。文章还强调了Python函数参数传递的特性,即传引用+赋值调用,并指出在槽函数中如何正确传递和绑定对象。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



