- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 QMainWindow,其中 QStackedWidget 作为中央小部件,并且通过更改该中央小部件的当前小部件来在布局之间切换。
这一直工作正常,但现在我试图使这些可能的布局之一可滚动,这就是结果:
<小时/>MainWindow 类的代码:
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.central_widget = QtGui.QStackedWidget()
self.setCentralWidget(self.central_widget)
#-- On load open main menu
self.showMenu()
# Go to the menu screen
def showMenu(self):
widget_menu = WidgetMain(self)
widget_menu.btnConfigu.clicked.connect(self.showConfig)
self.central_widget.addWidget(widget_menu)
self.central_widget.setCurrentWidget(widget_menu)
self.resize(420,350)
# Go to the config screen
def showConfigu(self):
widget_configu = WidgetOptions(self)
self.central_widget.addWidget(widget_configu)
self.central_widget.setCurrentWidget(widget_configu)
WidgetOptions 类的代码:
class WidgetOptions(QtGui.QWidget):
def __init__(self, parent=None):
super(WidgetOptions, self).__init__(parent)
#Container Widget
widget = QtGui.QWidget()
layoutRightContainer = QtGui.QVBoxLayout()
for _ in range(11):
btn = QtGui.QPushButton("test")
layoutRightContainer.addWidget(btn)
widget.setLayout(layoutRightContainer)
widget
self.setFixedHeight(300)
#Scroll Area Properties
scroll = QtGui.QScrollArea()
scroll.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
scroll.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
scroll.setWidgetResizable(True)
scroll.setWidget(widget)
layoutMain = QtGui.QHBoxLayout()
layoutMain.addWidget(widget)
我已经尝试对设置的大小进行多次调整,并使不同的容器不可/调整大小。在 StackedWidget 外部起作用的东西似乎在 StackedWidget 内部不起作用。在这种情况下,似乎也没有任何关于SO的问题。 self.setLayout(layoutMain)
最佳答案
我通过使 WidgetOptions 类本身成为 QScrollArea 的扩展而不是包含 QScrollArea 的 QWidget 来解决这个问题
WidgetOptions 类的代码:
class WidgetOptions(QtGui.QScrollArea):
def __init__(self, parent=None):
super(WidgetOptions, self).__init__(parent)
layoutLeft = QtGui.QVBoxLayout()
self.btnVariables = QtGui.QPushButton("Variables")
self.btnGroups = QtGui.QPushButton("Groups")
layoutLeft.addWidget(self.btnVariables)
layoutLeft.addWidget(self.btnGroups)
#Container Widget
widget = QtGui.QWidget()
layoutRightContainer = QtGui.QVBoxLayout()
for _ in range(11):
btn = QtGui.QPushButton("test")
layoutRightContainer.addWidget(btn)
widget.setLayout(layoutRightContainer)
#Scroll Area Properties
self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn)
self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
self.setWidgetResizable(True)
self.setWidget(widget)
self.setWidget(widget)
关于python - QStackedLayout 中的 QScroll 区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32826856/
考虑简单的应用 #include int main(int argc, char **argv) { QApplication app(argc, argv); QStackedLa
我可以在 Qt Creator 中很好地使用 QStackedWidget,但它有允许用户更改当前页面的按钮。我只想以编程方式执行此操作。不幸的是,在表单编辑器的任何地方似乎都没有堆叠布局。有什么方法
我可以在 Qt Creator 中很好地使用 QStackedWidget,但它有允许用户更改当前页面的按钮。我只想以编程方式执行此操作。不幸的是,在表单编辑器的任何地方似乎都没有堆叠布局。有什么方法
大家好,我是 Qt 编程的新手,我想使用 QStackedLayout 创建一个小部件。我已经使用 Qt Creator 设计了一些小部件,将它们添加到 QStackedLayout 并将其设置为主小
我有一个 QProgressBar,我需要在 QStackedLayout 中居中。鉴于 QStackedLayout::setAlignment 没有任何效果,并且小部件始终位于左上角,我该如何实现
我有一个 QProgressBar,我需要在 QStackedLayout 中居中。鉴于 QStackedLayout::setAlignment 没有任何效果,并且小部件始终位于左上角,我该如何实现
请看下面的代码: QStackedLayout stackLayout(this); QStackedLayout stackLayout = QStackedLayout(this); 我有两个问题
我有一个 QMainWindow,其中 QStackedWidget 作为中央小部件,并且通过更改该中央小部件的当前小部件来在布局之间切换。 这一直工作正常,但现在我试图使这些可能的布局之一可滚动,这
我是一名优秀的程序员,十分优秀!