基础窗口控件QWiget类是所有用户界面对象的基类,所有的窗口和空间都是直接或者间接继承自QWiget类。QWidget继承自 QObject 和 PaintDevice 。
1 Public API
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
import sys
class DemoQWidget(QWidget):
def __init__(self):
super(DemoQWidget, self).__init__()
# 设置窗口标题
self.setWindowTitle("QWidget窗口标题")
# 重新设置窗口大小
self.resize(600,400)
self.show() #显示窗口 对于hide() 隐藏不显示
# 获得窗口大小
print( self.size())
print("宽度:%d 高度:%d"%(self.width(), self.height()))
#设置窗口固定大小 setFixedSize(int w, int h)
# 固定高度 setFixedHeight(int h) 固定宽度:setFixedWidth(int w)
# 窗口大小包含边框的 QRect frameGeometry() const
print( self.frameGeometry() )
# frameSize() const
print(self.frameSize())
print("左上角位置:", self.pos())
# move(x,y) 移动位置
if __name__ == '__main__':
app = QApplication(sys.argv)
test = DemoQWidget()
#test.show()
sys.exit(app.exec_())
效果如下(文字为打印日志):
大小相关下图能很形象描述:
2 Public Slots
3 自定义无边框Widget (基本可以了解大部分用法)
自定义爬虫的小工具 效果图如下:
PyQt自带的窗口设置stylesheet没法设置标题栏(跟随系统的设置),所以大部分用的的主窗口想要设置都是自己实现的,主题就是实现拖拽,窗口大小调节,然后菜单栏关闭窗口,最大化,最小化还原窗口;可以QT的事件,窗口有非常细致的学习,而常用API一类最可靠的学习资料就是QT帮助文档。
链接:https://pan.baidu.com/s/1APla_BYE9ArKD6aoMI750Q
提取码:o5gf
关于信号槽 自定义信号或者自定义信号想传参自定义数据类型的话,可以使用lambda表达式