赞
踩
文章目录
QT是跨平台C++库的集合,它实现高级API来访问现代桌面和移动系统的许多方面。这些服务包括定位和定位服务、多媒体、NFC和蓝牙连接、基于Chromium的web浏览器以及传统的UI开发。PyQt5是Qt v5的一组完整的Python绑定。它被实现为超过35个扩展模块,并使Python在所有支持的平台(包括IOS和Android)上被用作C++的替代应用程序开发语言。PyQT5也可以嵌入在基于C++的应用程序中,以允许这些应用程序的用户配置或增强这些应用程序的功能。
首先,基本的 Python3 环境和 PyCharm 开发工具的安装,由于比较简单,博主在这里不再详细演示了!实在有问题的可以自行Google或者百度。其次就是GUI开发环境的安装,也就是安装PyQT5。这里演示在Python的虚拟环境中来安装PyQT5(Ubuntu Linux系统):
# 在Python全局环境中安装pipenv $ pip3 install pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple # 创建项目目录 $ mkdir pyqt5-pro # 进入项目目录 $ cd pyqt5-pro/ # 创建虚拟环境 $ pipenv --three # 激活虚拟环境(激活环境后会自动创建Pipfile文件) $ pipenv shell # 为加速安装,将源改为国内源 (pyqt5-pro) $ vim Pipfile url = "https://pypi.tuna.tsinghua.edu.cn/simple" # 安装pyqt5库 (pyqt5-pro) $ pipenv install pyqt5
这个时候我们使用Pycharm打开这个项目文件夹:
可以从设置中看到该项目依赖的Python环境:
示例代码:
from PyQt5.Qt import * import sys if __name__ == '__main__': # 创建QApplication类的实例 app = QApplication(sys.argv) # 创建一个窗口 window = QWidget() # 设置窗口标题 window.setWindowTitle('Hello World!') # 设置窗口尺寸 window.resize(400, 400) # 移动窗口位置 window.move(1000, 300) # 创建label控件 label = QLabel(window) # 为控件设置文本 label.setText('Hello World!') # 移动空间的位置 label.move(160, 160) # 显示窗口 window.show() # 进入程序的主循环,并通过exit函数确保主循环安全结束 sys.exit(app.exec_())
效果图[在windows平台中显示有差别于Linux(注意我这不是Mac OS系统,只是ubuntu linux系统使用了Mac OS的主题)]:
安装Qt的工具包:
pip install PyQt5-tools -i https://pypi.douban.com/simple
安装完成后,QTdesigner 就在你的 python 环境下的扩展包里面了!
将QtDesigner集成到Pycharm:
可以通过配置好的PyCharm扩展工具直接打开QTDesigner:
简单介绍QTDesigner几个主要部分:
Ctrl+S后可以将其保存到项目根目录:
第一种方法:
$ python -m PyQt5.uic.pyuic demo.ui -o demo.py
第二种方法:
$ pyuic5 demo.ui -o demo.py
第三种方法:把第一种方法中命令集成到 PyCharm 中,首先需要使用 $ which python
查看当前使用的Python目录,
(pyqt5-pro) $ which python
/home/thanlon/.local/share/virtualenvs/pyqt5-pro-ihgfaRRJ/bin/python
将其复制粘贴到【Program】部分。然后再把 -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
加入到【Arguments】部分。再把 $FileDir$
加入到【Working directory】中:
转换之后,在项目目录下会生成.py文件:
使用水平布局的方式在QtDesigner中做一些简单的操作,如下图所示:
将.ui文件转换成.py文件后新建 RunMainWinHorizontalLayout.py
文件用来运行转换之后的.py文件 MainWinHorizontalLayout.py
:
import sys import MainWinHorizontalLayout from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__': # 创建QApplication类的实例 app = QApplication(sys.argv) # 创建一个主窗口 mainWindow = QMainWindow() # 创建Ui_MainWindow的实例 ui = MainWinHorizontalLayout.Ui_MainWindow() # 调用setupUi在指定窗口(主窗口)中添加控件 ui.setupUi(mainWindow) # 显示窗口 mainWindow.show() # 进入程序的主循环,并通过exit函数确保主循环安全结束 sys.exit(app.exec_())
运行这个Python文件得到:
使用垂直布局的方式在QtDesigner中了做一些简单的操作,如下图所示:
将.ui文件转换成.py文件后新建 RunMainWinVerticalLayout.py
文件用来运行转换之后的.py文件 MainWinVerticalLayout.py
:
import sys import MainWinVerticalLayout from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__': # 创建QApplication类的实例 app = QApplication(sys.argv) # 创建一个主窗口 mainWindow = QMainWindow() # 创建Ui_MainWindow的实例 ui = MainWinVerticalLayout.Ui_MainWindow() # 调用setupUi在指定窗口(主窗口)中添加控件 ui.setupUi(mainWindow) # 显示窗口 mainWindow.show() # 进入程序的主循环,并通过exit函数确保主循环安全结束 sys.exit(app.exec_())
运行这个.py文件得到:
“姓名”和“薪资”两行都使用水平布局,“备注+文本框”和它们一起使用垂直布局:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。