由于只是给自己用,所以有些方法不会写全!!
方法:
方法 |
作用 |
information(QWdiget parent,title,text,buttons,defaultButton) |
弹出消息对话框,各参数解释如下 |
parent:指定的父窗口控件,一般填self或者None |
title:对话框标题 |
text:对话框文本 |
buttons:多个标准按钮,默认为ok按钮 |
defaultButton:默认选中的标准按钮,默认选中第一个标准按钮,即焦点 |
|
question(QWidget parent,title,text,buttons,defaultButton) |
弹出问答对话框(各参数解释如上) |
warning(QWidget parent,title,text,buttons,defaultButton) |
弹出警告对话框(各参数解释如上) |
critical(QWidget parent,title,text,buttons,defaultButton) |
弹出严重错误对话框(各参数解释如上) |
about(QWidget parent,title,text) |
弹出关于对话框(各参数解释如上) |
setTitle() |
设置标题 |
setText() |
设置正文消息 |
setIcon() |
设置弹出对话框的图片 |
默认对话框效果:
默认样式 |
效果 |
消息对话框-information |
 |
提问对话框-question |
 |
警告对话框-warning |
 |
严重错误对话框-critical |
 |
关于对话框-about |
 |
一般使用:
QtWidgets.QMessageBox.warning(None, "警告!!", "你刚刚已经被FBI全球通缉!!请立即自首!!", QtWidgets.QMessageBox.StandardButton.Yes,
QtWidgets.QMessageBox.StandardButton.Yes)

UI设计:
由于我用的设计器,所以直接拖进去,然后设计即可
如果要用做全页面的切换器,在拖进去之前,要先设计一个布局,然后再在布局里面放入QStackedWidget。否则当主窗口动时,它不会一起移动
对象参考:

方法
setCurrentIndex(int index) 切换显示页面(用索引表示页面)
QThread QT的线程-QtCore
方法
方法 |
描述 |
start() |
启动线程 |
wait() |
阻止线程,直到满足如下条件之一。 1、与此QThread对象关联的线程已完成执行(即从run返回时),如果线程完成执行,此函数返回True,如果线程尚未启动,也返回True; 2、等待时间的单位是毫秒,如果时间是ULONG_MAX(默认值·),则等待,永远不会超时(线程必须从run返回),如果等待超时,此函数将会返回False |
sleep() |
强制当前线程睡眠多少秒 |
信号:
信号 |
描述 |
started |
在开始执行run函数之前,从相关线程发射此信号 |
finished |
当程序完成业务逻辑时,从相关线程发射此信号 |
使用方法:
class MyThread(QtCore.QThread): # 建立一个任务线程类
signal = pyqtSignal(str) #设置触发信号传递的参数数据类型,这里是字符串
def __init__(self):
super(MyThread, self).__init__()
def run(self): # 在启动线程后任务从这个函数里面开始执行
for i in range(10):
self.signal.emit(str(i)) #任务线程发射信号用于与图形化界面进行交互
time.sleep(1)
class Windows......#这里应该是你的窗口类
def __init__(self):
......#省略
self.Thread = MyThread()
self.Thread.signal.connect(self.callback)#绑定一个槽-callback
......
#调用:
windows = Windows()
windows.Thread.start()