关于使用pyqt弹出消息提示框的问题
PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是最强大的库之一。PyQt是由Phil Thompson 开发。接下来通过本文给大家介绍下使用pyqt弹出消息提示框的问题,需要的朋友可以参考下
目录
安装 pyqt
安装遇到问题
还有 To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. 问题
Ubuntu 默认使用 Python2 更换默认配置为 Python3
测试验证
创建一个基本的GUI应用
各种样式的消息对话框示例
Python 程序打包
安装 pyinstaller 显示 command not found
总结
本文仅针对 Ubuntu 操作系统环境,其他系统环境待日后遇到再补充。本文主要内容参考Linux公社(https://www.linuxidc.com/Linux/2020-05/163168.htm
)
安装 pyqt
PyQt5是python模块,可让您非常快速地构建GUI应用程序。通常将它与Tkinter进行比较,但有一些区别。主要的一项是开发GUI的速度。 PyQt带有一个称为Qt-Designer的惊人工具,该工具是一个拖放界面,可根据您构建的GUI自动为您生成代码。这样可以更快地构建美观的应用程序。另一个区别是Tkinter默认带有Python 3+,必须在其中安装PyQt。
开始使用 PyQt5
的第一步是安装它。为此,我们将需要使用 pip
。
执行以下命令来安装 PyQt5
。
1 2 3 4 | $ sudo apt-get install python3-dev $ sudo apt-get install python3-pip $ pip3 install pyqt5 $ pip3 install pyqt5-tools |
安装遇到问题
No matching distribution found for PyQt5-Qt5>=5.15.2 (from pyqt5)
Could not find a version that satisfies the requirement PyQt5-Qt5>=5.15.2 (from pyqt5) (from versions: )
No matching distribution found for PyQt5-Qt5>=5.15.2 (from pyqt5)
这是由于 pip
工具没有更新导致的,执行以下命令:
1 2 3 | $ pip3 install --upgrade pip3 $ pip3 install --upgrade pyqt5 $ pip3 install --upgrade pyqt5-tools |
还有 To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. 问题
这是由于存在 python2
的 pip
导致,使用 pip3
卸载 pip
即可,如下操作:
1 | $ python -m pip uninstall pip |
Ubuntu 默认使用 Python2 更换默认配置为 Python3
1.查看当前ubuntu系统已经安装的python版本及当前使用的python版本
1 | $ python --version |
2.设置update-alternativer 切换python版本
1 | $ update-alternatives --list python |
执行后显示:
update-alternatives: error: no alternatives for python #表示Python代替版本尚未安装
然后执行以下命令安装:
1 2 3 4 5 | $ update-alternatives -- install /usr/bin/python python /usr/bin/python2 .7 1 update-alternatives: using /usr/bin/python2 .7 to provide /usr/bin/python (python) in auto mode $ update-alternatives -- install /usr/bin/python python /usr/bin/python3 .6 2 update-alternatives: using /usr/bin/python3 .6 to provide /usr/bin/python (python) in auto mode |
查看默认版本
1 | $ python --version |
上述命令中因为我们设置 /usr/bin/python3.6 设置的优先级为2 所以update-alternatives命令自己设置3.6为默认
再次显示Python代替版本信息
1 | $ update-alternatives --list python |
切换版本 update-alternatives --config python
1 | $ sudo update-alternatives --config python |
3.python3版本安装pip
1 | $ sudo apt-get install python3-pip |
安装完以后运行 pip3 -V
显示版本
升级 pip
版本
1 | $ pip3 install --upgrade pip |
测试验证
只需要执行以下操作就能验证 pyqt5
是否正常安装配置了:
1 2 3 | $ python3 > from PyQt5 import QtWidgets > quit() |
创建一个基本的GUI应用
在成功安装了 pyqt5
模块后,创建一个简单的 GUI
测试一下是否正常。
参考 Linux 公社例子,具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | from PyQt5 import QtWidgets from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel import sys def main(): app = QApplication(sys.argv) win = QMainWindow() win.setGeometry( 300 , 300 , 600 , 400 ) win.setWindowTitle( "Linux公社www.linuxidc.com" ) label = QLabel(win) label.setText( "<A href='www.linxuidc.com.com'>Linux公社</a>" ) label.move( 280 , 150 ) label1 = QLabel(win) label1.setText( "www.linuxidc.com" ) label1.adjustSize(); label1.move( 260 , 180 ) win.show() sys.exit(app.exec_()) main() # 确保调用该函数 |
一定主要 Python 代码缩进要保持一致,不然会报错的.
执行结果如下:
各种样式的消息对话框示例
现在就将 pyqt5 中的各种消息对话框通过一个小示例展示一下,具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class MyWindow(QWidget): def __init__( self ,parent = None ): super (MyWindow, self ).__init__(parent) self .setWindowTitle( "弹出式对话框例子" ) self .resize( 400 , 200 ) self .btn1 = QPushButton( self ) self .btn1.setText( "消息框" ) self .btn1.clicked.connect( self .msg1) layout = QVBoxLayout() self .btn2 = QPushButton( self ) self .btn2.setText( "问答对话框" ) self .btn2.clicked.connect( self .msg2) self .btn3 = QPushButton() self .btn3.setText( "警告对话框" ) self .btn3.clicked.connect( self .msg3) self .btn4 = QPushButton() self .btn4.setText( "严重错误对话框" ) self .btn4.clicked.connect( self .msg4) self .btn5 = QPushButton() self .btn5.setText( "关于对话框" ) self .btn5.clicked.connect( self .msg5) layout.addWidget( self .btn1) layout.addWidget( self .btn2) layout.addWidget( self .btn3) layout.addWidget( self .btn4) layout.addWidget( self .btn5) self .setLayout(layout) def msg1( self ): #使用infomation信息框 QMessageBox.information( self , "标题" , "消息正文" ,QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg2( self ): QMessageBox.question( self , "标题" , "问答消息正文" ,QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg3( self ): QMessageBox.warning( self , "标题" , "警告消息正文" ,QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg4( self ): QMessageBox.critical( self , "标题" , "严重错误消息正文" ,QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) def msg5( self ): QMessageBox.about( self , "标题" , "关于消息正文" ) if __name__ = = "__main__" : app = QApplication(sys.argv) win = MyWindow() win.show() sys.exit(app.exec_()) |
效果如下:
消息对话框:
问答对话框:
警告对话框
严重错误对话框
关于对话框:
Python 程序打包
我们在通过自己的开发环境编写和测试好了界面程序,如果仅仅把我们编写好的执行 Python 脚本提供给对方,对方的 PC 环境下很可能没有我们的程序依赖环境,这时候我们最好把 Python 程序打包后再发给对方。
安装pyinstaller
1 | pip install pyinstaller |
准备好python文件, 这里可以使用刚刚我们用于测试的代码 demo.py
打包成可执行文件
终端输入:
1 | pyinstaller -F demo.py |
就可以生成可执行文件 demo
了:
在终端中输入 ./demo
运行:
常用参数:
-i 添加图标,后面紧跟图标路径,图标格式必须是.ico
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件
pyinstaller -h 来查看参数
安装 pyinstaller 显示 command not found
到 pyinstaller
官网下载,https://github.com/pyinstaller/pyinstaller
下载到本地以后进行解压:
1 | $ tar -xjf xx. tar .bz2 |
解压完成后进入文件夹执行:
1 | $ python setup.py install |
安装完成后就可以进入你的文件目录进行打包了。
总结
目前在界面应用开发中,由于跨平台的问题,Qt
和 pyqt
被大量使用,所以大家如果以后会接触到应用界面开发的话,可以考虑好好学习一下这方面哦 ????
到此这篇关于使用pyqt弹出消息提示框的文章就介绍到这了
原文链接:https://blog.csdn.net/qq_37596943/article/details/122565711