python使用PyQt5的简单方法


Posted in Python onFebruary 27, 2019

一:安装PyQt5

pip install pyqt5

二:PyQt5简单使用

1:使用PyQt5创建一个简单窗口

import sys
from PyQt5 import QtWidgets
#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,
# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。
app = QtWidgets.QApplication(sys.argv)
#创建一个widget组件基础类
windows = QtWidgets.QWidget()
#设置widget组件的大小(w,h)
windows.resize(500,500)
#设置widget组件的位置(x,y)
windows.move(100,100)
"""
#设置widget组件的位置居中
qr = windows.frameGeometry()
cp = QtWidgets.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
windows.move(qr.topLeft())
"""
#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)
#windows.setGeometry(100,100,500,500)
#show()方法在屏幕上显示出widget组件
windows.show()
#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过
sys.exit(app.exec_())

现象如下:

python使用PyQt5的简单方法

2:给创建的窗口添加标题和图标

import sys
from PyQt5 import QtWidgets,QtGui
#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,
# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。
app = QtWidgets.QApplication(sys.argv)
#创建一个widget组件基础类
windows = QtWidgets.QWidget()
#设置widget组件的大小(w,h)
windows.resize(500,500)
#设置widget组件的位置(x,y)
windows.move(100,100)
"""
#设置widget组件的位置居中
qr = windows.frameGeometry()
cp = QtWidgets.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
windows.move(qr.topLeft())
"""
#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)
#windows.setGeometry(100,100,500,500)
#给widget组件设置标题
windows.setWindowTitle('标题')
#给widget组件设置图标
windows.setWindowIcon(QtGui.QIcon('2.png'))
#show()方法在屏幕上显示出widget组件
windows.show()
#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过
sys.exit(app.exec_())

现象如下:

python使用PyQt5的简单方法

3:给创建的窗口设置按钮及设置提示语

import sys
from PyQt5 import QtWidgets,QtGui
#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,
# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。
app = QtWidgets.QApplication(sys.argv)
#创建一个widget组件基础类
windows = QtWidgets.QWidget()
#设置widget组件的大小(w,h)
windows.resize(500,500)
#设置widget组件的位置(x,y)
windows.move(100,100)
"""
#设置widget组件的位置居中
qr = windows.frameGeometry()
cp = QtWidgets.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
windows.move(qr.topLeft())
"""
#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)
#windows.setGeometry(100,100,500,500)
#给widget组件设置标题
windows.setWindowTitle('标题')
#给widget组件设置图标
windows.setWindowIcon(QtGui.QIcon('2.png'))
#设置提示语的字体和大小
QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
#给widget组件设置提示语
windows.setToolTip('这是窗口提示')
#设置按钮并给按钮命名
btn = QtWidgets.QPushButton('button',windows)
#给按钮设置位置(x,y,w,h)
btn.setGeometry(200,200,100,50)
#给按钮设置提示语
btn.setToolTip('这是按钮提示')
#设置按钮样式
btn.setStyleSheet("background-color: rgb(164, 185, 255);"
 "border-color: rgb(170, 150, 163);"
 "font: 75 12pt \"Arial Narrow\";"
 "color: rgb(126, 255, 46);")
#点击按钮关闭创建的窗口
btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
#show()方法在屏幕上显示出widget组件
windows.show()
#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过
sys.exit(app.exec_())

现象如下(点击button按钮,窗口关闭):

python使用PyQt5的简单方法

4:设置标签(lable)信息

import sys
from PyQt5 import QtWidgets,QtGui,QtCore
#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,
# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。
app = QtWidgets.QApplication(sys.argv)
#创建一个widget组件基础类
windows = QtWidgets.QWidget()
#设置widget组件的大小(w,h)
windows.resize(500,500)
#设置widget组件的位置(x,y)
windows.move(100,100)
"""
#设置widget组件的位置居中
qr = windows.frameGeometry()
cp = QtWidgets.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
windows.move(qr.topLeft())
"""
#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)
#windows.setGeometry(100,100,500,500)
#给widget组件设置标题
windows.setWindowTitle('标题')
#给widget组件设置图标
windows.setWindowIcon(QtGui.QIcon('2.png'))
#设置lable信息
label = QtWidgets.QLabel(windows)
label.setGeometry(QtCore.QRect(100, 10, 100, 60))
label.setText('这是lable信息')
label.setObjectName('label')
#show()方法在屏幕上显示出widget组件
windows.show()
#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过
sys.exit(app.exec_())

现象如下:

python使用PyQt5的简单方法

5:配置输入框

import sys
from PyQt5 import QtWidgets,QtGui,QtCore,Qt
#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,
# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。
app = QtWidgets.QApplication(sys.argv)
#创建一个widget组件基础类
windows = QtWidgets.QWidget()
#设置widget组件的大小(w,h)
windows.resize(500,500)
#设置widget组件的位置(x,y)
windows.move(100,100)
"""
#设置widget组件的位置居中
qr = windows.frameGeometry()
cp = QtWidgets.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
windows.move(qr.topLeft())
"""
#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)
#windows.setGeometry(100,100,500,500)
#给widget组件设置标题
windows.setWindowTitle('标题')
#给widget组件设置图标
windows.setWindowIcon(QtGui.QIcon('2.png'))
#设置输入框
textbox = Qt.QLineEdit(windows)
textbox.resize(100,20)
textbox.move(50,50)
#show()方法在屏幕上显示出widget组件
windows.show()
#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过
sys.exit(app.exec_())

现象如下:

python使用PyQt5的简单方法

三:将上述方法总结一下实现了一个简单的功能,如下:

功能为:在输入框中输入值过后,点击按钮就会打印出你输入的值,关闭窗口会有提示

import sys
from PyQt5 import QtWidgets,QtGui,QtCore,Qt
class GUI(QtWidgets.QWidget):
 def __init__(self):
 #初始化————init__
 super().__init__()
 self.initGUI()
 def initGUI(self):
 #设置窗口大小
 self.resize(500,500)
 #设置窗口位置(下面配置的是居于屏幕中间)
 qr = self.frameGeometry()
 cp = QtWidgets.QDesktopWidget().availableGeometry().center()
 qr.moveCenter(cp)
 self.move(qr.topLeft())
 #设置窗口标题和图标
 self.setWindowTitle('窗口标题')
 self.setWindowIcon(QtGui.QIcon('2.png'))
 #设置窗口提示
 self.setToolTip('窗口提示')
 #设置label信息
 self.label = QtWidgets.QLabel(self)
 self.label.setGeometry(QtCore.QRect(100, 10, 100, 60))
 self.label.setText('这是lable信息')
 self.label.setObjectName('label')
 # 设置label提示
 self.label.setToolTip('label提示')
 #设置输入框
 self.textbox = Qt.QLineEdit(self)
 self.textbox.resize(100, 20)
 self.textbox.move(100, 50)
 # 设置输入框提示
 self.textbox.setToolTip('输入框提示')
 #设置按钮
 self.btn =QtWidgets.QPushButton('按钮',self)
 self.btn.resize(100,20)
 self.btn.move(200,50)
 # 设置按钮样式
 self.btn.setStyleSheet("background-color: rgb(164, 185, 255);"
    "border-color: rgb(170, 150, 163);"
    "font: 75 12pt \"Arial Narrow\";"
    "color: rgb(126, 255, 46);")
 # 设置按钮提示
 self.btn.setToolTip('按钮提示')
 #点击鼠标触发事件
 self.btn.clicked.connect(self.clickbtn)
 #展示窗口
 self.show();
 #点击鼠标触发函数
 def clickbtn(self):
 #打印出输入框的信息
 textboxValue = self.textbox.text()
 QtWidgets.QMessageBox.question(self, "信息", '你输入的输入框内容为:' + textboxValue,QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.Ok)
 #清空输入框信息
 self.textbox.setText('')
 #关闭窗口事件重写
 def closeEvent(self, QCloseEvent):
 reply = QtWidgets.QMessageBox.question(self, '警告',"确定关闭当前窗口?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No)
 if reply == QtWidgets.QMessageBox.Yes:
  QCloseEvent.accept()
 else:
  QCloseEvent.ignore()
if __name__ == '__main__':
 app = QtWidgets.QApplication(sys.argv)
 gui = GUI()
 sys.exit(app.exec_())

现象为:

python使用PyQt5的简单方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的print用法示例
Feb 11 Python
python结合opencv实现人脸检测与跟踪
Jun 08 Python
Python中eval带来的潜在风险代码分析
Dec 11 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
基于pandas将类别属性转化为数值属性的方法
Jul 25 Python
python中正则表达式 re.findall 用法
Oct 23 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
基于Python的PIL库学习详解
May 10 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
numpy.ndarray 实现对特定行或列取值
Dec 05 Python
Python爬虫之Selenium鼠标事件的实现
Dec 04 Python
Python创建字典的八种方式
Feb 27 #Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 #Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 #Python
Python使用字典的嵌套功能详解
Feb 27 #Python
Python list列表中删除多个重复元素操作示例
Feb 27 #Python
WxPython建立批量录入框窗口
Feb 27 #Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 #Python
You might like
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
php正则表达式(regar expression)
2011/09/10 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
jQuery AjaxQueue改进步骤
2011/10/06 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
JS通过Cookie判断页面是否为首次打开
2016/02/05 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
python实现在字符串中查找子字符串的方法
2015/07/11 Python
简单谈谈python中的多进程
2016/11/06 Python
Django中Model的使用方法教程
2018/03/07 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
python滑块验证码的破解实现
2019/11/10 Python
如何基于python实现脚本加密
2019/12/28 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
房地产开发计划书
2014/01/10 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
开工仪式主持词
2014/03/20 职场文书
爱心活动计划书
2014/04/26 职场文书
《猴子种果树》教学反思
2014/04/26 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python