当前位置:   article > 正文

python 使用PyQt5_python pyqt5

python pyqt5

一:安装PyQt5

pip install pyqt5

二:PyQt5简单使用

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

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

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

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

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

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

4:设置标签(lable)信息

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

5:配置输入框

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

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

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

  1. import sys
  2. from PyQt5 import QtWidgets,QtGui,QtCore,Qt
  3. class GUI(QtWidgets.QWidget):
  4.     def __init__(self):
  5.         #初始化————init__
  6.         super().__init__()
  7.         self.initGUI()
  8.     def initGUI(self):
  9.         #设置窗口大小
  10.         self.resize(500,500)
  11.         #设置窗口位置(下面配置的是居于屏幕中间)
  12.         qr = self.frameGeometry()
  13.         cp = QtWidgets.QDesktopWidget().availableGeometry().center()
  14.         qr.moveCenter(cp)
  15.         self.move(qr.topLeft())
  16.         #设置窗口标题和图标
  17.         self.setWindowTitle('窗口标题')
  18.         self.setWindowIcon(QtGui.QIcon('2.png'))
  19.         #设置窗口提示
  20.         self.setToolTip('窗口提示')
  21.         #设置label信息
  22.         self.label = QtWidgets.QLabel(self)
  23.         self.label.setGeometry(QtCore.QRect(100, 10, 100, 60))
  24.         self.label.setText('这是lable信息')
  25.         self.label.setObjectName('label')
  26.         # 设置label提示
  27.         self.label.setToolTip('label提示')
  28.         #设置输入框
  29.         self.textbox = Qt.QLineEdit(self)
  30.         self.textbox.resize(100, 20)
  31.         self.textbox.move(100, 50)
  32.         # 设置输入框提示
  33.         self.textbox.setToolTip('输入框提示')
  34.         #设置按钮
  35.         self.btn =QtWidgets.QPushButton('按钮',self)
  36.         self.btn.resize(100,20)
  37.         self.btn.move(200,50)
  38.         # 设置按钮样式
  39.         self.btn.setStyleSheet("background-color: rgb(164, 185, 255);"
  40.                           "border-color: rgb(170, 150, 163);"
  41.                           "font: 75 12pt \"Arial Narrow\";"
  42.                           "color: rgb(126, 255, 46);")
  43.         # 设置按钮提示
  44.         self.btn.setToolTip('按钮提示')
  45.         #点击鼠标触发事件
  46.         self.btn.clicked.connect(self.clickbtn)
  47.         #展示窗口
  48.         self.show();
  49.     #点击鼠标触发函数
  50.     def clickbtn(self):
  51.         #打印出输入框的信息
  52.         textboxValue = self.textbox.text()
  53.         QtWidgets.QMessageBox.question(self, "信息", '你输入的输入框内容为:' + textboxValue,QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.Ok)
  54.         #清空输入框信息
  55.         self.textbox.setText('')
  56.     #关闭窗口事件重写
  57.     def closeEvent(self, QCloseEvent):
  58.         reply = QtWidgets.QMessageBox.question(self, '警告',"确定关闭当前窗口?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No)
  59.         if reply == QtWidgets.QMessageBox.Yes:
  60.             QCloseEvent.accept()
  61.         else:
  62.             QCloseEvent.ignore()
  63. if __name__ == '__main__':
  64.     app = QtWidgets.QApplication(sys.argv)
  65.     gui = GUI()
  66.     sys.exit(app.exec_())

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/974343
推荐阅读
相关标签
  

闽ICP备14008679号