Python+PyQt5:停靠组件QDockWidget的实现
QMainWindow主窗体中放置停靠组件QDockWidget的实现流程:
第一步:创建QMainWindow窗体,这是承载QDockWidget的主体
第二步:创建QDockWidget组件实例,设置停靠位置和显示特征,如是否允许浮动和自由移动位置
第三步:因为QDockWidget创建时是空的一个组件,必须在上面放置其他的GUI控件,因此必须将需要的控件组合放置在一个QWidget中,再将GWidget捆绑到QDockWidget中
第四步:利用QMainWindow的addDockWidget方法,将创建的QDockWidget捆绑至主窗体中
完整代码实现如:
class MainWindows(QtWidgets.QMainWindow): # 创立主窗口,继承QMainWindow类
def __init__(self):
super(MainWindows, self).__init__() # 显性调用父类构造函数
self.setWindowTitle("QtDockWidgets demo")
aw = CreateWidget() # 创建一个准备放入dockwidget的窗体控件
self.CreateDockWidget(aw) # 创建dock,并将上一步创建的QWidget放入dock中
def CreateDockWidget(self, widget): # 定义一个createDock方法创建一个dockwidget
dock = QtWidgets.QDockWidget("selectQuote") # 实例化dockwidget类
dock.setWidget(widget) # 带入的参数为一个QWidget窗体实例,将该窗体放入dock中
dock.setObjectName("selectQuote")
dock.setFeatures(dock.DockWidgetFloatable|dock.DockWidgetMovable) # 设置dockwidget的各类属性
self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, dock) # 设置dockwidget放置在QMainWindow中的位置,并且将dockwidget添加至QMainWindow中
运行代码,调用主窗口:
app = QtWidgets.QApplication(sys.argv)
aw = MainWindows()
aw.showMaximized()
app.exec_()
Python+PyQt5:停靠组件QDockWidget的实现的更多相关文章
- 停靠窗口QDockWidget
停靠窗口QDockWidget要和QMainWindow一起搭配使用的 样式: import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets ...
- Mac Python PyQt5 环境搭建
pip install pyqt5 测试开发环境 在Terminal里敲下以下代码,如果没有报错就说明安装成功了. python -c "import PyQt5" 或是如下图,导 ...
- PyQt5教程——组件 Ⅱ(八)
这部分的教程将会继续介绍PyQt5的组件.我们这节教程的内容将包括像素图(QPixmap),单行文本框(QLineEdit)和下拉列表框(QComboBox) 像素图(QPixmap) 像素图(QPi ...
- Qt5—嵌入停靠窗口QDockWidget
参考链接:http://blog.csdn.net/summer_xiyer/article/details/12875899 新建一个GUI工程: QDockWidget是QWidget的子类,也等 ...
- Python中文分词组件 jieba
jieba "结巴"中文分词:做最好的Python中文分词组件 "Jieba" Feature 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分 ...
- python web 分页组件
闲来无事便写了一个易使用,易移植的Python Web分页组件.使用的技术栈是Python.Django.Bootstrap. 既然是易使用.易移植的组件,首先介绍一下其在django框架中的调用方式 ...
- Python+PyQT5的子线程更新UI界面的实例《新手必学》
今天小编就为大家分享一篇Python+PyQT5的子线程更新UI界面的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧子线程里是不能更新UI界面的,在移动端方面.Android的U ...
- Unbuntu 18.04 LTS 环境下Python安装GDAL组件
Unbuntu 18.04 LTS 环境下Python安装GDAL组件 // 非必要 sudo add-apt-repository ppa:ubuntugis/ppa sudo apt-get up ...
- Python PyQt5 Pycharm 环境搭建及配置
PyQt5相关安装 python 版本 python 3.6.3 1.安装PyQt5 执行命令: pip install pyqt5 2.安装PyQt5-tools 执行命令:pip install ...
随机推荐
- javascript 获取页面尺寸/位置
************************************************************************//ie中如果全部不给定值则会都为零(宽和高在设置一个的 ...
- bash算术求值和errexit陷阱
原文:https://www.technovelty.org//linux/bash-arithmetic-evaluation-and-errexit-trap.html 在 "traps ...
- e.keycode详解
function submitLoginForm(e) { e = window.event || e; if(e.keyCode == 13) { login(); } } keycode 8 = ...
- Python3 isprintable() 方法
描述 判断字符串中所有字符是否都是可打印字符(in repr())或字符串为空. Unicode字符集中“Other” “Separator”类别的字符为不可打印的字符(但不包括ASCII码中的空格( ...
- 温故而知新 chrome 浏览器一些小技巧、小细节
1.console 模块如何换行? shift + enter即可. 2.有时候 network 没有分类标签(xhr.img.js.css)怎么办? 按下这个图标就可以显示出来了
- mac 系统使用macaca inspector 获取iphone真机应用元素
1.安装brew 软件包管理工具:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/inst ...
- c3p0数据库连接池管理
之前已经讲过dbcp可以用于数据库连接池进行管理.另一种技术c3p0也可以用于数据库连接池管理,其中Spring等框架都是基于c3p0技术进行数据库连接池管理的. 使用之前需要引入 c3p0-0.9. ...
- mysql string types ---- mysql 字符类型详解
一.mysql 中包涵的字符类型: [national] char [(m)] [character set charset_name] [collate collation_name] [natio ...
- Redis(十七):批量操作Pipeline
大多数情况下,我们都会通过请求-相应机制去操作redis.只用这种模式的一般的步骤是,先获得jedis实例,然后通过jedis的get/put方法与redis交互.由于redis是单线程的,下一次请求 ...
- Spring加载xml配置文件的方式(BeanFactory和ApplicationContext区别)
描述 大家都知道Java读普通文件是通过Basic I/O 中的InputStream.OutStream.Reader.Writer 等实现的.在spring 框架中,它是怎样识别xml这个配置文件 ...