PySide2学习记录(三):QWidget对象

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_()

结果如图:

图1

根据官网上介绍,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

你可能感兴趣的:(PySide2学习记录(三):QWidget对象)