【问题标题】:PySide Frame doesn't appear on Grid LayoutPySide 框架未出现在网格布局上
【发布时间】:2015-08-28 13:03:19
【问题描述】:

我正在尝试在网格布局中添加一个简单的正方形,但它似乎不起作用。

代码如下:

self.resultFrame = QFrame()
self.resultFrame.setGeometry(100, 200, 0, 0)
self.resultFrame.setStyleSheet("QWidget { background-color: #000 }")

gridLayout.addWidget(self.resultFrame, 0, 0, 1, 4)

如果我将self.resultFrame 切换为QLabelQPushButton,它似乎可以正常工作,但不能使用QFrame

我做错了什么?

【问题讨论】:

  • 我想你已经使用setFrameStyle 来定义如何绘制框架。

标签: python pyside qgridlayout qframe


【解决方案1】:

由于我们没有看到其余代码,因此很难确定您可能做错了什么,但至少我可以确认这个简单的示例在网格布局内绘制了一个黑色框架和按钮。

from PySide import QtGui, QtCore

class MyWindow(QtGui.QWidget):
    def __init__(self, parent = None):
        super(MyWindow, self).__init__(parent)

        self.resultFrame = QtGui.QFrame()
        self.resultFrame.setGeometry(100, 200, 0, 0)
        self.resultFrame.setStyleSheet("QFrame { background-color: #000 }")

        self.myButton = QtGui.QPushButton(self, 'test')

        gridLayout = QtGui.QGridLayout()
        gridLayout.addWidget(self.resultFrame, 0, 0)
        gridLayout.addWidget(self.myButton, 0, 1)
        self.setLayout(gridLayout)

        self.resize(400, 400)
        self.show()

win = MyWindow()

在将网格布局的 addWidget 方法用于其余项目时,这也可能是您使用 span 的方式。例如,如果我在上面的代码中使用 gridLayout.addWidget(self.resultFrame, 0, 0, 1 ,4) 按钮将不再显示!

【讨论】:

    猜你喜欢
    • 2018-08-05
    • 2012-05-31
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多