Python 使用PyQt生成图形界面
1.安装PyQT5 以及QT Designer工具包,这里使用清华大学的源,安装快一些。
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple
2.安装PyQt5 会根据Python的安装路径自动进行安装,不需要修改,安装好以后,测试安装是否成功。写下面的代码,运行看运行是否正确。
import sys from PyQt5 import QtWidgets if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) w = QtWidgets.QWidget() w.resize(400, 200) w.setWindowTitle("hello lyshark") w.show() exit(app.exec_())
接着直接双击运行,如果成功执行,那么会看到一个窗体生成了。
3.打开QT设计师designer.exe,一般路径是:\Python\Python38\Lib\site-packages\pyqt5_tools\Qt\bin 就可以使用图形界面添加。
4.将设计好的窗口,保存成*.ui文件,Qt Designer设计出来的文件默认为.ui文件,里面包含的类css布局设计语言,如果想用python运行,我们还需要将它转换成.py文件。
输入转换命令:pyuic5 -o main.py main.ui qt工具会自动将其装换为对应的py文件,这样就不需要手动写代码构建了。
5.打开生成的.py文件,Ui_MainWindow这个类已经把布局都写好了。我只要修改调用一下就可以运行。 在代码后面添以下代码:
if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
直接点击运行即可看到生成的界面啦,但是运行后,后面会有cmd窗口,不美观,你可以将文件改为 main.pyw 然后运行,就没有后面的CMD窗口了。
import sys from PyQt5.QtWidgets import QWidget,QApplication class Demo(QWidget): def __init__(self): super().__init__() self.intui() def intui(self): self.resize(350,250) self.move(300,500) self.setWindowTitle("hello world") self.show() if __name__ == '__main__': app=QApplication(sys.argv) obj=Demo() sys.exit(app.exec_())
添加按钮,点击后退出。
import sys from PyQt5.QtWidgets import QWidget,QApplication,QPushButton,QToolTip from PyQt5.QtGui import QFont from PyQt5.QtCore import QCoreApplication class Demo(QWidget): def __init__(self): super().__init__() self.intui() def intui(self): btn=QPushButton("提交",self) btn.clicked.connect(QCoreApplication.instance().quit) btn.resize(btn.sizeHint()) btn.move(102,102) self.setGeometry(300,300,300,300) self.show() if __name__ == '__main__': app=QApplication(sys.argv) obj=Demo() sys.exit(app.exec_())
文章出处:https://www.cnblogs.com/LyShark/p/9187344.html
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
分类:
《Python 代码片段总结》
标签:
Python 入门
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?