我可以在滚动区域之外创建一个组框吗?
Can I make a groupbox outside of a scroll area?
我有一个标题为“123”的 QGroupBox。 QGroupBox里面,应该有一个QScrollArea。这意味着QGrouBox的标题'123'应该在QScrollArea之外。
我的示例代码如下。
import sys
import PyQt4
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class Example(QWidget):
def __init__(self, parent = None):
super().__init__()
btn = QPushButton('button')
scroll = QScrollArea()
scroll.setWidgetResizable(True)
scroll.setWidget(btn)
groupbox = QGroupBox('123')
groupbox.setLayout(scroll)
self.show()
def main():
app = QApplication(sys.argv)
main = Example()
main.show()
sys.exit(app.exec_())
正如您在上面看到的,现在 returns TypeError: setLayout(self, QLayout): argument 1 has unexpected type 'QScrollArea'
。
我只是想知道这是否可以实现?谢谢!!
当您想将内容添加到 QGroupBox
时,您必须通过包含必要小部件的布局来完成,在这种情况下,因为它只是一个小部件,我们可以使用任何布局,并且在此布局中我们添加这个案例是 QScrollArea
的小部件作为示例然后:
class Example(QWidget):
def __init__(self, parent = None):
super().__init__()
self.setLayout(QVBoxLayout())
btn = QPushButton('button')
scroll = QScrollArea()
scroll.setWidgetResizable(True)
scroll.setWidget(btn)
groupbox = QGroupBox('123', self)
groupbox.setLayout(QVBoxLayout())
groupbox.layout().addWidget(scroll)
self.layout().addWidget(groupbox)
截图:
我有一个标题为“123”的 QGroupBox。 QGroupBox里面,应该有一个QScrollArea。这意味着QGrouBox的标题'123'应该在QScrollArea之外。
我的示例代码如下。
import sys
import PyQt4
from PyQt4.QtGui import *
from PyQt4.QtCore import *
class Example(QWidget):
def __init__(self, parent = None):
super().__init__()
btn = QPushButton('button')
scroll = QScrollArea()
scroll.setWidgetResizable(True)
scroll.setWidget(btn)
groupbox = QGroupBox('123')
groupbox.setLayout(scroll)
self.show()
def main():
app = QApplication(sys.argv)
main = Example()
main.show()
sys.exit(app.exec_())
正如您在上面看到的,现在 returns TypeError: setLayout(self, QLayout): argument 1 has unexpected type 'QScrollArea'
。
我只是想知道这是否可以实现?谢谢!!
当您想将内容添加到 QGroupBox
时,您必须通过包含必要小部件的布局来完成,在这种情况下,因为它只是一个小部件,我们可以使用任何布局,并且在此布局中我们添加这个案例是 QScrollArea
的小部件作为示例然后:
class Example(QWidget):
def __init__(self, parent = None):
super().__init__()
self.setLayout(QVBoxLayout())
btn = QPushButton('button')
scroll = QScrollArea()
scroll.setWidgetResizable(True)
scroll.setWidget(btn)
groupbox = QGroupBox('123', self)
groupbox.setLayout(QVBoxLayout())
groupbox.layout().addWidget(scroll)
self.layout().addWidget(groupbox)
截图: