一、继承
1.继承:如果类后没有继承父类则为顶层窗口。
二、大小
1.坐标:坐标原点在左上角。
2.获取相关位置或尺寸:(用户区域、窗口框架)
(1)x():获得窗口框架的x坐标
y():获取窗口框架的y坐标
pos():获取窗口框架的x、y坐标
(2)width():获取用户取的宽度
height():获取用户区的高度
size():获取用户区的宽度和高度
(3)geometry():用户区域的位置——控件显示完毕后再调用该函数
(4)frameGeometry():窗口框架的尺寸
3.设计相关位置和尺寸
(1)move():窗口框架左上角距离父控件位置
(2)resize():用户区域的长宽——有最小值
(3)setGeometry():用户区域左上角距离——show后
(4)adjustSize():自适应大小
(5)setFixedSize():设置固定尺寸
4.最小最大尺寸限定
(1)获取:
minimumWidth()、minimumHeight()、minimumSize()
maximumWidth()、maximumHeight()、maximumSize()
(2)设置:
setMaximumWidth()、setMaximumHeight()、setMaximumSize()
setMinimumWidth()、setMinimumHeight()、setMinimumSize()
5.内容边距(内容一般在控件的横向靠左、垂直居中)
(1)setContentsMargins():设置内容边距(左上角和右下角的位置)
(2)getContentsMargins():获取内容边距
三、鼠标相关操作
1.setCursor():设置鼠标形状——QCursor
2.unsetCursor():恢复鼠标形状
3.鼠标追踪(视频中)
四、事件
1.showEvent(QShowEvent):显示时调用
2.closeEvent(QCloseEvent):关闭时调用
3.moveEvent(QMoveEvent):移动时调用
4.resizeEvent(QResizeEvent):调整大小时调用
5.鼠标事件
(1)leaveEvent(QEvent):离开时调用
enteeEvent(QEvent):进入时调用
(2)mousePressEvent(QMouseEvent):按下时调用
mouseReleaseEvent(QMouseEvent):松开时调用
mouseDoubleClickEvent(QMouseEvent):双击时调用
mouseMoveEvent(QMouseEvent):移动时调用
6.键盘事件
keyPressEvent(QKeyEvent):键盘按下时调用
keyReleaseEvent(QKeyEvent):键盘松开时调用
7.事件的转发
如果一个消息没有被处理,则传递到父控件中。
当需要忽略处理时用ignore
当需要标记处理时用accept
五、父子关系
1.childAt(x,y):获取指定坐标的子控件
2.parentWideget():获取指定控件的父控件
3.childrenRect():获取子控件组成的边界矩形
六、层级关系
1.lower():将控件放到最底层
2.raise():将控件放在最上层
3.a.stackUnder(b):让a放在b的下面
七、图窗特定操作
1.设置图窗标识
icon=QIcon()
window.setWindowIcon(icon)
2.设置名称
window.setWindowTitle("str")
3.设置不透明度
window.setWindowOpacity(float)---0透明、1不透明
4.窗口状态
(1)最小化状态:window.setWindowState(Qt.WindowMinimized)
(2)最大化状态:window.setWindowState(Qt.WindowMaximized)
(3)全屏状态:window.setWindowState(Qt.WindowFullScreen)
(4)活动窗口:window.setWindowState(QT.WindowActive)
5.窗口变化
(1)变成最小化:window.showMinimized()
(2)变成最大化:window.showMaximized()
(3)变成全屏:window.showFullScreen()
(4)判断最大化:window.isMaximized()
6.窗口标志(设置页面外观)
window.setWindowFlags(参数值——(窗口样式、顶层窗口外观标志))
八、控件交互
1.是否可用:setEnabled(bool)——isEnabled()
2.是否显示/可见:setVisible(bool)/setHidden(bool)
3.isHidden():相对于父控件是否隐藏(注意因为父控件不可见而隐藏)
isVisible():是否可见
isVisibleTo(window)相对于window是否会显示
4.是否编辑:在str中加入[*]
5.控件的关闭(隐藏)btn.close()
(释放)deleteLater()
九、信息提示
1.状态栏:setStatusTip(str)——window设置QMainWindow()的组合控件(window.statusBar())
2.工具提示:setToolTip(str)——setToolTipDuration()设置时