QSplitter分割窗口

QSplitter是用来分割窗口的,比如下面的窗口:

PyQt学习笔记(11)鈥斺擰Splitter分割窗口



   QmainWindow上面有三个widget,一个TextEdit,一个ListWidget,一个TreeWidget,要让他们分占窗口,并且鼠标放到两个widget的边界,还可以拖拽来改变widget的大小。

 

    下面我们看看如何实现:

class MainWindow(QMainWindow):

    def __init__(self,parent=None):

       super(MainWindow,self).__init__(parent)

 

        self.textedit = QTextEdit()

       self.textedit.setText("This is a TextEdit!")

      

       self.listwidget = QListWidget()

       self.listwidget.addItem("This\nis\na\nListWidget!")

      

       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)

       self.setCentralWidget(splitter)

    我们创建了三个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一起使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值