首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qvboxlayout布局中的Qtableview

qvboxlayout布局中的Qtableview
EN

Stack Overflow用户
提问于 2015-10-13 20:34:16
回答 1查看 300关注 0票数 0

你好,我正在尝试在qvbox布局中嵌入一个qtableview,但是我没有设法保持qtableview在qvbox布局中,下面的代码给了我两个窗口,我不知道为什么layout.addwidget不能像预期的那样工作。

代码语言:javascript
复制
class QMT(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(QMT, self).__init__(parent)
        layout=QVBoxLayout(self)        
        self.view = QtGui.QTableView()
        self.name = QtGui.QLabel("Name:")      
        layout.addWidget(self.view)
        layout.addWidget(self.name)
        self.initUI() #Windows stuff + show()
        self.setLayout(layout)
EN

回答 1

Stack Overflow用户

发布于 2015-10-14 15:17:49

我回答了自己,发现了我不理解的关于PyQt的基本陈述:

在Qt中使用布局系统有两个步骤:将小部件组织到布局中,并将布局应用于小部件。

下面是一些有效的方法:

代码语言:javascript
复制
class QMT(QtGui.QMainWindow):
    def __init__(self, parent=None):
        super(QMT, self).__init__(parent)

        # Create Qtable view widget
        self.view = QtGui.QTableView(self)

        # Create Canvas for graph
        self.fig=Figure(figsize=(5,5), dpi=100)
        self.canvas=FigureCanvas(self.fig)
        self.graph=self.fig.add_subplot(111)

        #Layout management
        #Initiate splitter (more convenient for end user)
        splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal)
        splitter1.addWidget(self.view)
        splitter1.addWidget(self.canvas)

        # Create Horizontal Layout Box
        hbox = QtGui.QHBoxLayout()
        # Add the splitter to the hbox 
        hbox.addWidget(splitter1)

        #initiate widget to be shown
        widget = QtGui.QWidget(self)
        widget.setLayout(hbox)

        #Set widget as central widget
        self.setCentralWidget(widget)

        # Windows & Menu stuff
        self.initUI()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33102859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档