Python版本3.7
PySide2 Version: 5.14.1
官方文档:http://doc.qt.io/qtforpython/index.html
from PySide2 import QtWidgets
app = QtWidgets.QApplication()
window = QtWidgets.QWidget()
window.resize(200, 120)
btn_quit = QtWidgets.QPushButton("Quit", window)
# 设置矩形框的大小
btn_quit.setGeometry(10, 40, 180, 40)
# 连接到app的quit槽函数,即退出
btn_quit.clicked.connect(app.quit)
window.show()
app.exec_()
结果如图:
根据官网上介绍,widget是用户界面的原子,翻译成正常的话就是widget是构建用户界面的最基本的东西,也就是说跟显示界面有关的,基本都继承了这个类。这个类的对象可以处理鼠标,键盘和其它窗口事件和绘图事件。每一个widget都是一个矩形。跟widget相关的还有一个叫window,什么是window?就是有一个widget对象,它不属于任何其它widget对象(也就是顶层widget),那么这个widget就可以称为window。
其实QT早已为我们封装好了一个开箱即用的window,就是QMainWindow
,它直接继承了QWidget
,并且帮助我们实现一些其它功能。这里暂时不讨论QMainWindow
,有兴趣可以自行查阅。
有很多控件都直接或间接的继承了QWidget
,所以重点了解下这个类里面都有什么重要的函数。首先QWidget
里面包含了很多事件函数,比如像什么窗口调整,或者窗口显示消失,又或者鼠标进入窗口,离开窗口等等,都会调用一系列的事件函数。
一些事件函数:
resizeEvent(event)
窗口大小调整事件
showEvent(event)
窗口显示事件
hideEvent(event)
窗口隐藏事件
enterEvent(event)
鼠标进入窗口事件
leaveEvent(event)
鼠标离开窗口事件
mouseMoveEvent(event)
鼠标在窗口移动事件,注意如果要使这个生效,需要调用setMouseTracking(true)
除了一些事件,还有一些槽函数:
close()
关闭窗口
hide()
隐藏窗口
show()
显示窗口
update()
刷新窗口
还有一些重要的函数,比如:
resize(w,h)
设置窗口大小
setFixedSize(w,h)
设置窗口固定大小
setMinimumSize(minw, minh)
设置窗口最小大小
setLayout(arg)
设置窗口里面的布局
setWindowFlags(type)
设置窗口选项,比如窗口风格
size()
返回窗口大小
还有很多,具体请查阅文档
所以当一个控件继承了QWidget
的时候,上面所有的东西都会自动继承,我们可以利用已有的控件,组合成新的控件来进行复用。
友情链接:
QMainWindow
QWidget