PyQt(Python+Qt)学习随笔:QMainWindow的addDockWidget方法增加QDockWidget停靠窗到主窗口

本文详细介绍了如何在PyQt中使用QDockWidget组件,包括其在不同窗口类型中的表现、与QMainWindow的配合使用,以及addDockWidget方法的调用方式和注意事项。通过实例解析,帮助读者理解QDockWidget的浮动、停靠机制及其在GUI布局中的灵活运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DockWidget除了放在QMainWindow窗口内外,也可以放在其他类型的窗体如QWidget窗口内,但QMainWindow提供了与QDockWidget配套的特性如停靠区域,而其他窗口没有配套特性,QDockWidget在其他窗口中也可以浮动,但拖拽时无法自动停靠,只能通过鼠标双击标题栏回到原始位置。

QMainWindow的addDockWidget方法用于将对应停靠窗增加到主窗口的指定区域,调用语法如下:

  • addDockWidget(Qt.DockWidgetArea area, QDockWidget dockwidget)
  • addDockWidget(Qt.DockWidgetArea area, QDockWidget dockwidget, Qt.Orientation orientation)

参数area用于指定QDockWidget对象的初始停靠区域,orientation确认标题栏是位于顶部水平方向,还是位于左边竖直方向。

经老猿验证发现:
  1. 如果addDockWidget的floating属性是True,则停靠窗会漂浮在主窗口上面,但当双击停靠窗标题栏时就会将该停靠窗停靠到参数area指定区域;
  2. addDockWidget的area参数不是总会起作用,要具体看看QDockWidget对象的大小以及当前主窗口的其他QDockWidget对象的排列情况,如一个比较大的浮动窗是不能放置在左边或右边区域,只能在顶部和底部区域;
  3. 如果一个QDockWidget对象未调用addDockWidget添加到主窗口中,则在主窗口的快捷菜单中无法看到该QDockWidget对象,也不能双击鼠标将该停靠窗由浮动改为驻留状态;
    4.addDockWidget可以重复调用,后续调用将改变前面调用的效果,即该方法不但可以将浮动窗口增加到主窗口对应浮动区域中,而且还可以用来改变浮动窗的浮动位置和标题栏方向 。

老猿Python,跟老猿学Python!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值