您好,欢迎访问一九零五行业门户网

python使用PyQt5的详细教程(代码示例)

本篇文章给大家带来的内容是关于python使用pyqt5的详细教程(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一:安装pyqt5
pip install pyqt5
二:pyqt5简单使用
1:使用pyqt5创建一个简单窗口
import sysfrom 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 sysfrom 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 sysfrom 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 sysfrom 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 sysfrom 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 sysfrom pyqt5 import qtwidgets,qtgui,qtcore,qtclass 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的详细教程(代码示例)的详细内容。
其它类似信息

推荐信息