【转载】Pyqt QSplitter分割窗口
转载来自: http://blog.sina.com.cn/s/blog_4b5039210100h3ih.html
分割窗口在应用程序中经常用到,它可以灵活分布窗口布局,经常用于类似文件资源管理器的窗口设计中。
QSplitter是用来分割窗口的
如下代码:
- # -*- coding: utf-8 -*-
- from PyQt4 import QtCore,QtGui
- from PyQt4.QtGui import *
- from PyQt4.QtCore import *
- import sys
- QtCore.QTextCodec.setCodecForTr(QtCore.QTextCodec.codecForName("utf8"))
- class Csplitter(QtGui.QMainWindow):
- def __init__(self,parent=None):
- super(Csplitter,self).__init__(parent)
- self.resize(400,400)
- self.setWindowTitle('Pyqt Qsplitter')
- self.textedit = QTextEdit()
- self.textedit.setText("This is a TextEdit!")
- self.listwidget = QListWidget()
- self.listwidget.addItem("This is a \nListWidget!")
- self.listwidget.addItem("aaaaaaaaaaaaaaa")
- self.treewidget = QTreeWidget()
- self.treewidget.setHeaderLabels(['This','is','a','TreeWidgets!'])
- splitter = QSplitter(self)
- splitter.addWidget(self.textedit)
- splitter.addWidget(self.listwidget)
- splitter.addWidget(self.treewidget)
- splitter.setOrientation(Qt.Vertical) # Qt.Vertical 垂直 Qt.Horizontal 水平
- self.setCentralWidget(splitter)
- if __name__ == '__main__':
- app= QtGui.QApplication(sys.argv)
- main = Csplitter()
- main.show()
- sys.exit(app.exec_())
效果:
QmainWindow上面有三个widget,一个TextEdit,一个ListWidget,一个TreeWidget,要让他们分占窗口,并且鼠标放到两个widget的边界,还可以拖拽来改变widget的大小
我们创建了三个widget以后,我们通过创建一个Qsplitter(parent),注意它的参数此处是self,也就是我们的MainWindow。
然后把三个widget通过addwidget方法加到Qsplitter上,如果我们不调用setOrientation(Qt.Vertical)的话,三个控件默认是水平摆放的,这里我们调用了,变为了垂直摆放,最后把splitter放到了MainWindow上。
另外Qsplitter还有别的很多methods。
Qsplitter.insertWidget(self,int index,Qwidget widget)在index序号处插入一个widget。
Qsplitter.indexOf(self,Qwidget widget)可以得到一个widget的index。
当然如果要隐藏某一个widget,可以调用hide()方法,要显示可以调用show()方法。
Qsplitter.count()返回一个splitter里面的widget的数目。
QSplitter.restoreState()和QSplitter.saveState()用来保存和恢复状态,一般和Qsetting一起使用。
【转载】Pyqt QSplitter分割窗口的更多相关文章
- Qt5布局管理(一)——QSplitter分割窗口类
转载:LeeHDsniper 概述 本文首先通过三个实例分别介绍Qt5的分割窗口QSplitter类.停靠窗口QDockWidget类.堆栈窗体QStackedWidget类,然后介绍布局管理器的使用 ...
- qt QSplitter分割窗口
#include <QApplication> #include <QFont> #include <QTextEdit> #include <QSplitt ...
- Qt创建分割窗口
1.QT中QSplitter类可以用来灵活分割窗口,从而产生可用的布局,在以后进行界面布局很有用. 2.先看代码,这个分割窗口按顺序添加子窗口: #include "mainwindow.h ...
- 分割窗口QSplitter类
概述 分割窗口QSplitter类在应用程序中经常用到,它可以灵活分割窗口的布局,经常用在类似文件资源管理器的窗口设计中 在Qt开发中,QSplitter是比较常用到的,也就是分割窗口.并且窗口分割处 ...
- QT5学习:分割窗口类的使用
分割窗口在应用程序中经常用到,它可以灵活分布窗口布局,经常用于类似文件资源管理器的窗口设计中,然后抱着这样的想法简单的实现了下 [cpp] view plain copy //main.cpp ...
- Vim的分割窗口split命令
显示两个不同的文件:或者同时显示一个文件的两个不同地方:又或者并排比较两个文件.这一切都可以通过分割窗口实现. 打开新窗口最简单的命令如下: :split (水平分割) || :vsplit (垂直分 ...
- VIM 分割窗口
VIM 分割窗口 *08.1* 分割窗口 打开新窗口最简单的命令如下: :split 这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中: +----------------------- ...
- pyqt pyside 设置窗口关闭时删除自身
pyqt pyside 设置窗口关闭时删除自身 self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
- VC++环境下单文档SDI与OpenGL多视图分割窗口的实现-类似3DMAX的主界面
本文主要讲述如何在VC++环境下实现单文档SDI与OpenGL多视图分割窗口,最终的界面类似3DMAX的主界面.首先给出我实现的效果图: 整个实现过程网络上有很多零散的博文,请各位自行搜索,在基于对话 ...
随机推荐
- Android_bug之Default Activity not found
在运行自己修改默认的MainActivety,运行自己的Mainactivety时,碰到这个问题Could not identify launch activity: Default Activity ...
- 2016年11月19日--连接查询,变量、if else、while
连接查询:通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 常用的两个链接运算符: 1.join on 2.union 在关 ...
- hadoop学习过程中一系列问题
12---修改host .修改主机名5.1 修改当前会话的主机名sudo hostname SY-0217查看当前会话的主机名hostname默认是我装Linux 虚机时输入的名字Ubuntu5.2 ...
- Glyphicons字体图标
Glyphicons字体图标-----好处可以减少请求,容易控制样式! <p> <button type="button" class="btn btn ...
- phpcms常用方法简介
function thumb() /** * 生成缩略图函数 * @param $imgurl 图片路径 * @param $width 缩略图宽度 * @param $height 缩略图高度 * ...
- sharepoint---RBS回收站清空设置
默认天数 :
- struts2 servlet api 访问方式
Action中访问ServletAPI. 主要就是接收表单参数及向域对象中存取值. 关于SevletAPI的方法在Action中有三种方式: 1.完全解耦合的形式: * 使用一个类:ActionCon ...
- Linux下编译安装python3
Linux下默认系统自带python2.6的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的,所以可以安装py ...
- 关于C语言中的转义字符
1.转义字符的分类 1. 1一般转义字符 这种转义字符,虽然在形式上由两个字符组成,但只代表一个字符.常用的一般转义字符为: \a \n \t \v \b \r ...
- windows编程中c语言知识回顾
1.include: #include表示只在系统提供的头文件中查找: #include "Head File"表示先在当前目录中搜索,若不存在,再到系统目录中查找: vs环境中, ...