pyqt5必须和python对应_python 使用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_())

现象如下:

bVboZhb?w=407&h=339

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_())

现象如下:

bVboZhn?w=512&h=529

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按钮,窗口关闭):

bVboZhF?w=512&h=531

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_())

现象如下:

bVboZhR?w=508&h=532

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_())

现象如下:

bVboZhZ?w=515&h=537

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

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

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_())

现象为:

bVboZh8?w=514&h=530