内容简介:一:安装PyQt5二:PyQt5简单使用1:使用PyQt5创建一个简单窗口
一:安装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_())
现象如下:
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_())
现象如下:
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按钮,窗口关闭):
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_())
现象如下:
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_())
现象如下:
三:将上述方法总结一下实现了一个简单的功能,如下:
功能为:在输入框中输入值过后,点击按钮就会打印出你输入的值,关闭窗口会有提示
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_())
现象为:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python带我起飞
李金洪 / 电子工业出版社 / 2018-6 / 79
《Python带我起飞——入门、进阶、商业实战》针对Python 3.5 以上版本,采用“理论+实践”的形式编写,通过大量的实例(共42 个),全面而深入地讲解“Python 基础语法”和“Python 项目应用”两方面内容。书中的实例具有很强的实用性,如对医疗影像数据进行分析、制作爬虫获取股票信息、自动化实例、从一组看似混乱的数据中找出规律、制作人脸识别系统等。 《Python带我起飞——......一起来看看 《Python带我起飞》 这本书的介绍吧!