【Python】pyqt5-----QWidget QWidget是的⼀个⼦类,⽗类的功能⼦类可以⽤。
⼀、位置⼤⼩设置
move(x,y)操控x,y;包括窗⼝框架。
resize(width,height)操控宽和⾼;不包括窗⼝框架。
tGeometry(x_noFrame,y_noFrame,width,height)设置⽤户区域的x,y,宽度和⾼度。
adjustSize()根据内容⾃适应⼤⼩。
tFixedSize()设定固定尺⼨。
⼆、尺⼨限定
获取最⼤和最⼩尺⼨
minimumWidth()获取最⼩宽度。
minimumHeight()获取最⼩⾼度。
minimumSize()获取最⼩宽度和⾼度。
maximumWidth()获取最⼤宽度。
运动英文单词maximumHeight()获取最⼤⾼度。
maximumSize()获取最⼤宽度和⾼度。
设置尺⼨限定
tMinimumWidth()设置最⼩宽度。
tMinimumHeight()设置最⼩⾼度。
tMinimumSize()设置最⼩宽度和⾼度。
tMaximumWidth()设置最⼤宽度。
tMaximumHeight()设置最⼤⾼度。
tMaximumSize()设置最⼤宽度和⾼度。
三、内容边距
tContentsMargins(左,上,右,下)设置内容边据。
getContentsMargins(左,上,右,下)获取内容边距,返回的是⼀个元组。
contentsRect()获取内容区域。
四、与⿏标相关的设置
系统⿏标样式
tCursor()设置⿏标样式。以下是⿏标样式,常⽤的会放在
葫组词2字左边。
Qt.ArrowCursor Qt.UpArrowCursor、Qt.CrossCursor
Qt.WaitCursor Qt.IBeamCursor、Qt.WhatsThisCursor
不再的英文Qt.BusyCursor Qt.SizeVerCursor、Qt.SizeHorCursor
Qt.ForbiddenCursor Qt.SizeAllCursor、Qt.SizeBDiagCursor
Qt.PointingHandCursor Qt.SplitHCursor、Qt.ClodHandCursor
Qt.OpenHandCursor Qt.BlankCursor
untCursor()重置形状。
⾃定义⿏标样式
pixmap = QPixmap("smile.png") #应⽤图⽚
pixmap = pixmap.scaled(50,50) #修改图⽚⼤⼩
cursor = QCursor(pixmap) #设置⾃定义⿏标样式,这⾥可以设置热点鲜榨果蔬汁
btn.tCursor(cursor) #应⽤⾃定义的⿏标样式
⿏标跟踪----检测⿏标移动事件的条件
hasMouTracking()判定是否设置了⿏标跟踪。
tMouTracking()设置⿏标是否跟踪。跟踪:⿏标移动时,不处于按下状态,也会触发mouMoveEvent事件。不跟踪:⿏标移动时,处于按下状态,才会触发mouMoveEvent事件
例⼦----标签跟随⿏标坐标移动
from PyQt5.Qt import *
import sys
class Window(QWidget):
def mouMoveEvent(lf, mv):
print("⿏标移动", mv.localPos()) #localPos()⽤于获取⿏标的坐标 ve(int(mv.localPos().x()), int(mv.localPos().y()))
app = QApplication(sys.argv)
window = Window()
window.tWindowTitle("⿏标跟踪")
window.tMouTracking(True)#开启⿏标追踪
label = QLabel(window)
label.tText("⿏标跟踪")
label.tStyleSheet("background-color:cyan;font-size: 20px;") window.show()
<_())
五、事件⽅法
显⽰和关闭事件showEvent():控件显⽰时调⽤;cloEvent():控件关闭时调⽤。
移动事件moveEvent():控件移动时调⽤。
调整⼤⼩事件resizeEvent():控件调整⼤⼩时调⽤。
⿏标事件enterEvent():⿏标进⼊时触发;leaveEvent():⿏标离开时触发;
mouPressEvent():⿏标按下时触发;mouReleaEvent():⿏标释放时触发;mouDoubleClickEvent():⿏标双击时触发;mouMoveEvent():⿏标移动时触发。
键盘事件keyPressEvent():键盘按下时调⽤;keyReleaEvent():键盘释放时调⽤。
焦点事件focusInEvent():获取焦点时调⽤;focusOutEvent():失去焦点时调⽤。
拖拽事件dragEnterEvent():拖拽进⼊控件时调⽤;dragLeaveEvent():拖拽离开控件时调⽤;dragMoveEvent():拖拽在控件内移动时调⽤;dragEvent():拖拽放下时调⽤。新学期新起点
绘制事件paintEvent():显⽰控件,更新控件时调⽤
被控制感改变事件changeEvent():窗体改变,字体改变时调⽤。
右键菜单contextMenuEvent():访问右键菜单时调⽤。
输⼊法inputMethodEvent():输⼊法调⽤
六、⽗⼦关系
childAt(x,y)获取在指定坐标的控件。
parentWidget()获取指定控件的⽗控件。
childRect()所有⼦控件组成的边界矩形。七、顶层窗⼝相关操作
tWindowIcon(QIcon('xxx.png'))设置图标。
windowIcon()获取图标。
tWindowTitle("....")设置标题。
windowTitle()获取标题。
tWindowOpacity(float)设置不透明度。
windowOpacity()获取不透明度。
tWindowState(state)设置窗⼝状态。Qt.WindowNoState:⽆状态;
Qt.WindowMinimized:最⼩化;
Qt.WindowMaximized:最⼤化;道歉的话语
Qt.WindowFullScreen:全屏;
Qt.WindowActive:活动窗⼝。
windowState()获取窗⼝状态。showFullScreen()展⽰全屏。showMaximized()展⽰最⼤化。showMinimized()展⽰最⼩化。showNormal正常展⽰。isMinimized()判断是否为最⼩化。isMaxmized()判断是否为最⼤化。isFullScreen()判断是否为全屏。
tWindowFlags(Qt.WindowStaysOnTopHint)窗⼝样式。
Qt.MSWindowsFixedSizeDialogHint:窗⼝⽆法调整⼤⼩
Qt.FramelessWindowHint:窗⼝⽆边框Qt.CustomizeWindowHint:有边框但⽆标题栏和按钮,不能移动和拖动
Qt.WindowTitleHint:添加标题栏和⼀个关闭按钮
Qt.WindowSystemMenuHint:添加系统⽬录和⼀个关闭按钮
Qt.WindowMaximizeButtonHint:激活最⼤化和关闭按钮,禁⽌最⼩化按钮
Qt.WindowMinimizeButtonHint:激活最⼩化和关闭按钮,禁⽌最⼤化按钮
Qt.WindowMinMaxButtonsHint:激活最⼩化,最⼤化和关闭按钮
Qt.WindowCloButtonHint:添加⼀个关闭按钮
Qt.WindowContextHelpButtonHint:添加问号和关闭按钮,同对话框
Qt.WindowStaysOnTopHint:窗⼝始终处于顶层位置
Qt.WindowStaysOnBottomHint:窗⼝始
终处于底层位置
⼋、控件交互
tEnabled(bool)设置控件是否禁⽤。
isEnabled()获取控件是否可⽤。
tVisible(bool)设置控件是否可见。
isHidden()判定控件是否隐藏。
isVisible()获取控件最终状态是否可见。
油箱漏油
isVisibleTo(widget)如果能随着widget控件的显⽰和隐藏, ⽽同步变化, 则返回True。
tWindowModified(bool)被编辑状态显⽰*、没有被编辑不显⽰*(需要在tWindowTitle处设置标题为"....[*]",中括号⾥必须是*)
isWindowModified()判断窗⼝是否是被编辑状态
isActiveWindow()判断是否为活跃窗⼝。
clo()关闭窗⼝。tAttribute(Qt.WA_DeleteOnClo, True)九、信息提⽰
tToolTip(str)⿏标悬停在控件上⼀会后, 展⽰在旁边。
toolTip()获得信息提⽰内容。
tToolTipDuration(mc)设置显⽰时长。
toolTipDuration()获取显⽰时长。
tWhatsThis(str)切换到"查看这是啥"模式, 点击该控件时显⽰。
whatsThis()获取这是啥内容。
⼗、焦点控制
tFocus()指定控件获取焦点。
tFocusPolicy(Policy)设置焦点获取策略。Qt.TabFocus:通过Tab键获得焦点。Qt.ClickFocus:通过被单击获得焦点。
Qt.StrongFocus:可通过上⾯两种⽅式获得焦点。
Qt.NoFocus:不能通过上两种⽅式获得焦点(默认值),tFocus 仍可使其获得焦点。
clearFocus()取消焦点。
⼗⼀、信号相关
windowTitleChanged(QString)窗⼝图标改变信号。
windowIconChanged(QIcon)窗⼝图标改变信号。
customContextMenuRequested(QPoint)⾃定义上下⽂菜单请求信号。tContextMenuPolicy(Qt.CustomContextMenu)其中Qt.CustomContextMenu为发射信号。