赞
踩
第一个程序:
- # -*- coding: utf-8 -*-
- """第一个程序"""
- import sys
- from PyQt5 import QtWidgets,QtGui#模块包含的类提供了一套UI元素来创建经典桌面风格用户界面。QtGui:模块包含的类用于窗口化的系统结构,事件处理,2D绘图,基本图形,字体和文本。
-
- app = QtWidgets.QApplication(sys.argv)
- first_window = QtWidgets.QWidget()#将这个函数换个名字,可以更加清楚的理解这个函数的意思
- first_window.resize(400,300)#长400,宽300
- first_window.setWindowTitle("我的第一个程序")#程序标题,显示这个标题
- first_window.show()#显示这个窗口
- sys.exit(app.exec_())
第二个程序:
- # -*- coding: utf-8 -*-
- """设置图标"""
- import sys
- from PyQt5 import QtWidgets, QtGui # Qwidget组件是PyQt5中所有用户界面类的基础类
-
-
- class Icon(QtWidgets.QWidget):
- def __init__(self, parent=None):
- QtWidgets.QWidget.__init__(self, parent)
-
- self.setGeometry(300, 300, 250, 150)#前面两个参数是坐标,后面两个参数是长宽
- self.setWindowTitle("图标")# 设置了我们窗口的标题
- self.setWindowIcon(QtGui.QIcon(r'sample.ico'))# 本地有个sample.ico文件
-
-
- app = QtWidgets.QApplication(sys.argv)
- icon = Icon()#将函数赋给icon
- icon.show()#显示icon
- sys.exit(app.exec_())

第三个程序:
- # -*- coding: utf-8 -*-
- """用按钮关闭程序"""
- import sys
- from PyQt5 import QtWidgets, QtCore, QtGui#导入第一个就能用了,不知道为啥要带入三个
-
-
- class QuitButton(QtWidgets.QWidget):#创建一个了类,
- def __init__(self, parent=None):
- QtWidgets.QWidget.__init__(self, parent)
- self.setGeometry(300, 300, 250, 150)#前两个参数是坐标,后两个参数是大小
- self.setWindowTitle("我的关闭程序")#标题
- quit_button = QtWidgets.QPushButton("关闭", self)
- quit_button.setGeometry(60, 60, 60, 35)#按钮位置和大小
-
- quit_button.clicked.connect(QtWidgets.qApp.quit)#信号和槽连接
-
-
- app = QtWidgets.QApplication(sys.argv)
- quitbutton = QuitButton()#将函数换个名字更容易记忆
- quitbutton.show()#显示函数
- sys.exit(app.exec_())

第5个程序:
- # -*- coding: utf-8 -*-
- """用按钮关闭程序"""
- import sys
- from PyQt5 import QtWidgets, QtCore, QtGui#还是那句话后面这两个模块根本没用为什么要加上
-
-
- class MessageBox(QtWidgets.QWidget):#定义一个类
- def __init__(self, parent=None):
- QtWidgets.QWidget.__init__(self, parent)
- self.setGeometry(300, 300, 250, 150)#前面显示窗口的坐标,后面显示窗口大小
- self.setWindowTitle("消息窗口演示程序")
-
- def closeEvent(self, event):#定义一个类
- reply = QtWidgets.QMessageBox.question(self, '确认退出?', '你确定要退出吗?',
- QtWidgets.QMessageBox.Yes,
- QtWidgets.QMessageBox.No)
- if reply == QtWidgets.QMessageBox.Yes:
- event.accept()#接受
- else:
- event.ignore()#忽视
-
-
- app = QtWidgets.QApplication(sys.argv)
- qb = MessageBox()
- qb.show()
- sys.exit(app.e

第六个程序:
- # -*- coding: utf-8 -*-
- """信号槽示例"""
-
- import sys
- from PyQt5 import QtWidgets, QtCore
-
-
- class SignalSlot(QtWidgets.QWidget):
- def __init__(self):
- super(SignalSlot, self).__init__()
-
- self.setWindowTitle("信号槽演示程序")
- self.resize(250, 150)#设置大小
-
- lcd = QtWidgets.QLCDNumber(self)#QLCDNumber控件用于显示一个带有类似液晶显示屏效果的数字。
- slider = QtWidgets.QSlider(QtCore.Qt.Horizontal, self)#QSlider控件提供了一个垂直或者水平的滑动条,
-
- v_box = QtWidgets.QVBoxLayout()#垂直布局管理器QVBoxLayout
- v_box.addWidget(lcd)#lcd
- v_box.addWidget(slider)#滑块
-
- self.setLayout(v_box)
- slider.valueChanged.connect(lcd.display)
- # 我们将滑块的valueChanged信号连接到lcd的display槽函数上
- # emit.signal.connect(accept.slot)
-
-
- app = QtWidgets.QApplication(sys.argv)
- qb = SignalSlot()
- qb.show()
- sys.exit(app.exec_())

第七个程序:
- # -*- coding: utf-8 -*-
- """用esc键退出示例"""
-
- import sys
- from PyQt5 import QtWidgets, QtCore
-
-
- class Escape(QtWidgets.QWidget):
- def __init__(self):
- super(Escape, self).__init__()
-
- self.setWindowTitle("用esc键退出示例")
- self.resize(250, 150)
-
- def keyPressEvent(self, event):
- if event.key() == QtCore.QT.Key_Escape:#如果按下了esc则
- self.close()
- # keypressevent事件处理方法
-
-
- app = QtWidgets.QApplication(sys.argv)
- escape = Escape()
- escape.show()
- sys.exit(app.exec_())
- # 当我们按下esc键,程序就会结束。

第八个程序:
- # -*- coding: utf-8 -*-
- """发射信号示例"""
-
- import sys
- from PyQt5 import QtWidgets, QtCore
-
-
- class EmitSignal(QtWidgets.QWidget):
- closeEmitApp = QtCore.pyqtSignal()
-
- # 我们常见一个叫做closeEmitApp()的新信号。在鼠标按下时产生。
-
- def __init__(self):
- super(EmitSignal, self).__init__()
-
- self.setWindowTitle("发射信号演示程序")
- self.resize(250, 150)
-
- self.closeEmitApp.connect(self.close)
-
- # 吧自定义的信号closeEmitApp()与槽函数close()连接起来
-
- def mousePressEvent(self, QMouseEvent):
- self.closeEmitApp.emit()
- # 通过信号变量的emit()方法来发射一个信号
-
-
- app = QtWidgets.QApplication(sys.argv)
- es = EmitSignal()
- es.show()
- sys.exit(app.exec_())

第九个程序:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。