文章

Pyqt库

创建窗口

1
2
3
4
import sys
from PyQt5.QtWidgets import *
app = QApplication(sys.argv)
win = QMainWindow()  #赋值给一个对象名称

QWidget

  • 是一个通用的窗口容器;提供了一些基本的功能和布局管理器,但是没有菜单栏、工具栏、状态栏等。
  • 可以在‘QWidget’上添加其他GUI元素,如按钮、标签等。

QMainWindow

  • 是QWidget的子类,提供了更多的功能和布局选项,通常作为应用程序的主窗口,具有‘QWidget’没有的功能

设置窗口大小

1
win.setGeometry(700, 400, 500, 300)  #依次是位置,窗口大小

设置窗口标题

1
win.setWindowTitle("WeChat Control")  #括号写标题文本

设置点击按钮

1
2
3
对象名 = QPushButton('按钮名称',self)   #创建一个按钮
对象名.setGeometry(0,0,0,0)     #设置位置坐标
对象名.clicked.connect(self.函数/方法名称)   #单击按钮触发函数/方法

获取输入框的输入

1
input_box.text()

显示窗口

1
win.show()

关闭窗口

1
sys.exit(app.exec_())

QThread线程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#创建独立线程实例,并继承父类
class workthread(QThread):
    finishww = pyqtSignal()  #自定义信号,用于任务完成时发射信号
    #添加任务
    def run(self):
        执行任务的代码
        ..............
        ..............
        self.finishww.emit()   #任务执行完并发送信号
        
        
class xxx(xxx):
    .....
    .....
    #定义一个启动线程的方法
    def startwork(self):
        self.thread = workthread()  #将独立线程赋值给self.thread
        self.thread.finishww.connect(self.log_in)  #连接任务完成发射信号到槽函数,并调用任务完成后的操作的方法
        self.thread.start()    #启动工作线程
    
    #执行完的操作    
    def log_in(self):
        print('hh')
        
想要执行独立线程只需要调用启动线程的方法即可

其他

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class 父类名称:
    def __init__(self,属性名称1属性名称2....):
        self.属性名称1 = 属性名称1
        self.属性名称2 = 属性名称2
    def 方法名称(self):
        语句.......

class 子类名称(父类名称):
    def __init__(self,属性名称1属性名称2,属性名称3...):
        super().__init__(父类中的属性名称1,父类中的属性名称2)
        self.属性名称1 = 属性名称1
        
    def 方法名称(self):
        语句.......     
  • 通过继承,子类可以继承父类的特征和行为,并在此基础上添加自己特定的特征和行为,使代码更加灵活和可重用。
本文由作者按照 CC BY 4.0 进行授权