PyQt:如何在PyQt4中的QGroupBox内添加网格布局

马修·帕里斯

我正在尝试使用PyQt4创建一个应用程序窗口。我想创建一个带有框架的窗口,在该框架内有一些小部件,例如标签和文本编辑器。我将框架创建为QGroupBox以便能够在其上添加标题。我知道当处理框架时,HBox和VBox似乎是首选的布局,但是,我想使用网格布局来管理窗口小部件在框架中的定位,我发现它更易于管理。所以我尝试了这段代码:

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

def initUI(self):      

    hbox = QtGui.QHBoxLayout()
    grid = QtGui.QGridLayout()

    #Definition des Tracing Parameters widgets
    WindowSize = QtGui.QLabel("Window size (m)")
    SampPts = QtGui.QLabel("Sampling points")
    WindowSizeEdit = QtGui.QLineEdit()
    SampPtsEdit = QtGui.QLineEdit()
    TracParamFrame = QtGui.QGroupBox(self)
    TracParamFrame.setTitle("Tracing Parameters")
    hbox.addLayout(grid)

    grid.addWidget(WindowSize,0,0)
    grid.addWidget(WindowSizeEdit,0,1)
    grid.addWidget(SampPts,1,0)
    grid.addWidget(SampPtsEdit,1,1)

    self.setLayout(hbox)

    self.setGeometry(300,300,350,300)
    self.show()


def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

这里的主要思想是创建一个hbox,在其中放置QGroupBox,然后在其中放置网格布局。问题在于,在生成的应用程序中,小部件放置在框架的外部,另外我得到了错误:

QLayout:尝试将QLayout“”添加到示例“”,该示例已具有布局QWidget :: setLayout:试图在示例“”中设置QLayout“”,该示例已具有布局

亚历克斯

我通过添加以下语句修改了代码:TracParamFrame.setLayout(hbox)

添加的代码如下:

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()
    def initUI(self):
        hbox = QtGui.QHBoxLayout()
        grid = QtGui.QGridLayout()

        #Definition des Tracing Parameters widgets
        WindowSize = QtGui.QLabel("Window size (m)")
        SampPts = QtGui.QLabel("Sampling points")
        WindowSizeEdit = QtGui.QLineEdit()
        SampPtsEdit = QtGui.QLineEdit()
        TracParamFrame = QtGui.QGroupBox(self)
        TracParamFrame.setTitle("Tracing Parameters")
        hbox.addLayout(grid)

        grid.addWidget(WindowSize,0,0)
        grid.addWidget(WindowSizeEdit,0,1)
        grid.addWidget(SampPts,1,0)
        grid.addWidget(SampPtsEdit,1,1)
        TracParamFrame.setLayout(hbox)

        #self.setLayout(hbox)


        self.setGeometry(300,300,350,300)
        self.show()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在PyQt4的NxN网格布局中插入QImage?

来自分类Dev

如何在PyQt4的NxN网格布局中插入QImage?

来自分类Dev

将滚动条添加到pyqt4中的网格布局

来自分类Dev

如何在Qt / PyQt / PySide网格布局中控制小部件的大小

来自分类Dev

PyQt4-将多个网格布局添加到选项卡小部件

来自分类Dev

如何在启动画面pyqt4中添加进度栏

来自分类Dev

如何在特定单元格 pyqt4 中添加列表

来自分类Dev

如何在Anaconda中安装PyQt4?

来自分类Dev

如何在PyQt4中旋转圆形鼠标

来自分类Dev

Pyqt5 Designer-添加小部件时网格布局中断

来自分类Dev

如何在python中从pyqt4升级到pyqt5

来自分类Dev

如何在pyqt中向Qtablewidget添加布局?

来自分类Dev

如何在网格布局中对齐“框”

来自分类Dev

如何在Xamarin Forms网格布局中嵌入图像

来自分类Dev

如何在引导程序中设置网格布局样式?

来自分类Dev

如何在codeigniter中以网格布局显示帖子

来自分类Dev

如何在 Angular Dart 中实现网格布局?

来自分类Dev

Pyqt5-网格布局行为异常

来自分类Dev

PyQt5 QGroupBox-如何在QGroupBox的顶部外部行中显示标题?

来自分类Dev

PyQT4:在Qtableview中添加组合框

来自分类Dev

使用pyqt4在设计的qtdesigner ui中添加treeview

来自分类Dev

如何在PyQt4中调整QMenuBar的大小以显示4K

来自分类Dev

如何使用pyqt4在QGraphicsview中添加x,y标签

来自分类Dev

如何在窗口的PyQt4中的不同画布中绘制不同的图?

来自分类Dev

如何在pyqt4中正确创建第二个窗口

来自分类Dev

如何在PyQt4中通过滚动显示RGBA numpy数组图像?

来自分类Dev

如何在Python PyQt4中设置现有MainWidnow的中央小部件?

来自分类Dev

如何在PyQt4的QTextEdit中更改所有字体的大小?

来自分类Dev

如何在PyQt4中为QListView获取selectionchange事件

Related 相关文章

  1. 1

    如何在PyQt4的NxN网格布局中插入QImage?

  2. 2

    如何在PyQt4的NxN网格布局中插入QImage?

  3. 3

    将滚动条添加到pyqt4中的网格布局

  4. 4

    如何在Qt / PyQt / PySide网格布局中控制小部件的大小

  5. 5

    PyQt4-将多个网格布局添加到选项卡小部件

  6. 6

    如何在启动画面pyqt4中添加进度栏

  7. 7

    如何在特定单元格 pyqt4 中添加列表

  8. 8

    如何在Anaconda中安装PyQt4?

  9. 9

    如何在PyQt4中旋转圆形鼠标

  10. 10

    Pyqt5 Designer-添加小部件时网格布局中断

  11. 11

    如何在python中从pyqt4升级到pyqt5

  12. 12

    如何在pyqt中向Qtablewidget添加布局?

  13. 13

    如何在网格布局中对齐“框”

  14. 14

    如何在Xamarin Forms网格布局中嵌入图像

  15. 15

    如何在引导程序中设置网格布局样式?

  16. 16

    如何在codeigniter中以网格布局显示帖子

  17. 17

    如何在 Angular Dart 中实现网格布局?

  18. 18

    Pyqt5-网格布局行为异常

  19. 19

    PyQt5 QGroupBox-如何在QGroupBox的顶部外部行中显示标题?

  20. 20

    PyQT4:在Qtableview中添加组合框

  21. 21

    使用pyqt4在设计的qtdesigner ui中添加treeview

  22. 22

    如何在PyQt4中调整QMenuBar的大小以显示4K

  23. 23

    如何使用pyqt4在QGraphicsview中添加x,y标签

  24. 24

    如何在窗口的PyQt4中的不同画布中绘制不同的图?

  25. 25

    如何在pyqt4中正确创建第二个窗口

  26. 26

    如何在PyQt4中通过滚动显示RGBA numpy数组图像?

  27. 27

    如何在Python PyQt4中设置现有MainWidnow的中央小部件?

  28. 28

    如何在PyQt4的QTextEdit中更改所有字体的大小?

  29. 29

    如何在PyQt4中为QListView获取selectionchange事件

热门标签

归档