环境搭建请看:
python3+pyQt5+pycharm环境搭建
使用QtDesigner绘制UI
在pycharm创建好的工程中,File->External tools->QtDesigner(当然个是你自己设置的名字),即可打开QtDesigner。pyQt5-tools中的designer是没有中文语言包的,如果不熟悉英文可以下载中文语言包,链接:https://pan.baidu.com/s/1JwEXgbI8ipPE9uYw5TF2Ag
提取码:qwvm
图形界面的软件傻瓜式的操作,生产力满分。
使用pyuic转化
绘制完的UI文件格式是.ui,pycharm当然打不开。在QtDesigner里查看代码的话,你会发现使用C++写的,现在我们就需要用pyuic来转换成python格式的代码,用python接口调用。
当然你可以用命令行来转化,学过Linux的话这些对你来说肯定不成问题,pyuic的可执行文件就在安装pyQt5-tools的目录下。当然,如果你不会使用命令行,或者觉得这样太麻烦了,在环境搭建的blog中写了吧pyuic加入pycharm的external tools
右击.ui文件,选择external tools->PyUIC(当然这个名字也是你设置的,它甚至可能叫i am so handsome,这取决于你的自恋程度)
现在你发现你的文件目录中多了一个同名的.py文件,打开它就能看到转换处的代码。
调用窗口程序
新建一个.py文本,写入一下代码
import sys
import demo # 这里是ui文件转换的文件名
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = QMainWindow() # 获取主窗口mainWindow
ui = demo.Ui_MainWindow() # 获取demo中的组件
ui.setupUi(mainWindow) # 生成窗口
mainWindow.show() # 显示mainWindow
sys.exit(app.exec_()) # app.exec_()运行主循环,sys.exit()可以判断程序退出并返回到主线程
运行这个脚本,你就能看到自己画的UI界面了
关于QApplication(sys.argv)
QApplication::QApplication ( int & argc, char ** argv )
初始化窗口系统并且使用在argv中的argc个命令行参数构造一个应用程序对象。
全局指针qApp指向这个应用程序对象。应该只有一个应用程序对象被创建。
这个应用程序对象必须在任何绘制设备(包括窗口部件、像素映射、位图等等)之前被构造。
argc和argv是命令行传进去的参数。比如linux里输入一个命令 cp file.c file1.c 那么argc=3
argv就是上面那行字符串数组。 因为图形编程有时也需要从命令行传递参数给程序,所以才会有argc和argv。
————————————————
原文链接:https://blog.youkuaiyun.com/cuicui_ruirui/article/details/102873528
学海无涯,勤奋为舟