PyQt提供了方便的停靠窗口控件,我们可以很方便的编写一个停靠窗口,代码和效果如下:
# -*- coding: utf-8 -*-
from PyQt4 import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.createDockWindows()
def createDockWindows(self):
dock1 = QtGui.QDockWidget('Tab1', self)
dock1.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea)
widget1 = QtGui.QWidget(parent=dock1)
dock1.setWidget(widget1)
self.addDockWidget(QtCore.Qt.RightDockWidgetArea, dock1)
dock2 = QtGui.QDockWidget('Tab2', self)
dock2.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea)
widget2 = QtGui.QWidget(parent=dock1)
dock2.setWidget(widget2)
self.addDockWidget(QtCore.Qt.RightDockWidgetArea, dock2)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
这时如果想把这两个停靠窗口叠加到一起,怎么办?那就要用到QMainWindow.tabifyDockWidget (self, QDockWidget, QDockWidget)方法,我们加一行代码看看:
self.tabifyDockWidget(dock1, dock2)
这时的问题是Tab2是当前的标签页,一般按习惯来讲,默认第一个是当前标签页,这时候就需要用到QWidget.raise_(self)方法,该方法可以把自己提升到其父控件顶层。
再加一行代码:
dock1.raise_()
- 大小: 10.6 KB
- 大小: 11.8 KB
- 大小: 11.9 KB
分享到:
相关推荐
Python3.x+Pyqt5实现主窗体(QMainWindow类)里的分割器QSplitter动态载入子窗体(QWidget类),还实现了导航栏抽屉效果。
用pyqt5设计了一个主窗体,在窗体运行时需要把一个无限循环放在一个线程去工作。运行后,发现通过鼠标按主窗体的关闭按键关闭主创体后,线程不会自动终止,依然在运行。尽管对我的使用场景来说,这不是问题,因为...
主要为大家详细介绍了PyQt5每天必学之关闭窗口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Python3.x+Pyqt5实现主窗体与子窗体相互传数据、传字符、传值;主要使用了信号与槽的方法。
QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中,QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围 ...
Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航,以及主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体。
# PyQt5点击按钮弹出自定义窗口 创建新窗口 1. 创建 QPushButton 按钮并绑定点击事件函数; 2. 点击按钮时创建自己定义的窗口类对象并显示; 3. 包含两个例程,分别为只能弹出一个窗口和可以反复点击按钮创建无限个...
续)Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字。
Python3.x+Pyqt5实现主窗体里树形导航栏(QTreeWidget工具)按钮驱动分割器QSplitter动态载入多个子窗体,鼠标右键实现展开节点菜单,且第3个子窗体还实现了界面与业务逻辑分离
使用python+pyqt4做的一个圆角窗体。比较好的哦~~分享
PyQt5窗口无边框+窗口拖动+窗口拉伸全部实现,源码分享给大家。
Python 如何实现在PyQt5窗口中弹出等待提示框 Python源码Python 如何实现在PyQt5窗口中弹出等待提示框 Python源码Python 如何实现在PyQt5窗口中弹出等待提示框 Python源码Python 如何实现在PyQt5窗口中弹出等待提示...
在默认情况下,我们使用PyQt5创建出来的窗口和部件都是默认的样式,虽然谈不上很丑,但是也毫无美感可言。其实,在PyQt5中,我们可以有较高的自由度来自定义窗口和各种小部件的样式,通过自定义这些样式,以达到美化...
pyqt5--Qthread解决窗口未响应问题,用来解决python后台爬数据时窗口未响应问题。使用这样的结构可以实现后台爬数据的同时实时UI显示,克服假死问题,
Python3.x+Pyqt5实现主窗体里的分割器QSplitter动态载入多个子窗体,而且第3个子窗体还实现了界面与业务逻辑分离。
2. 将桌面设置为自己创建的 PyQt 窗口的父窗口,窗口即可嵌入到桌面; 3. 在右下角菜单栏显示控制图标,可以嵌入和解锁窗口; 4. 解决在win7/win10/win11上窗口解锁恢复后桌面上会留下窗口痕迹的bug。
您可能感兴趣的文章:PyQt5笔记之弹出窗口大全PyQt5创建一个新窗口的实例pyqt5 实现多窗口跳转的方法对PyQt5基本窗口控件 QMainWindow的使用详解PyQt5 多窗口连接实例pyqt5对用qt designer设计的窗体
pyqt父子窗口相互传值 pyqt信号槽的使用 对新手可能有帮助
pyqt5 实现 主窗口中动态添加控件 自己使用的笨方法,但是效果一样
Python 如何让PyQt5窗体代码与逻辑代码分离 Python源码Python 如何让PyQt5窗体代码与逻辑代码分离 Python源码Python 如何让PyQt5窗体代码与逻辑代码分离 Python源码Python 如何让PyQt5窗体代码与逻辑代码分离 Python...