问题标签 [qstackedwidget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2757 浏览

python - 如何在 PyQt5 中制作嵌套的 StackedLayouts?

我正在用 Python 为一个大学项目创建一个 PyQt5 应用程序,用于QStackedLayout使其成为单窗口应用程序,但是,我不知道如何将 Stacked Widget 嵌套在 Stacked Widget 中。

运行代码时(因问题而降级),您可以看到带有 a 的主菜单QPushButton。单击它时,窗口会随着其中的 a而变化QListWidget

我想要实现的是 右侧的 Stacked Widget QListWidget,它分别随所选列表项而变化。

编辑:有没有一种方法可以打开另一个窗口所在的位置?现在,每当我单击一个按钮时,都会在屏幕中间弹出窗口。

在代码中,您可以看到我尝试实现的部分带有注释字符。

编码:

我该如何解决这个问题?

0 投票
2 回答
1254 浏览

python - 如何将 QStackedWidget 大小设置为子小部件的最小尺寸?

无法使此示例中的 QLabel 具有包含其文本的最小大小。我需要布局和堆叠的小部件,然后将它们自己调整到适合标签所需的最小值。

我使用了https://www.tutorialspoint.com/pyqt/pyqt_qstackedwidget.htm中的代码来演示我的问题。

设置大小策略似乎在应用程序启动时起作用,但增加应用程序宽度最终会导致标签在列表达到一定宽度后扩展。

0 投票
1 回答
100 浏览

qt - QStackedWidget 将 QActions 连接到 QWidget 的自定义 QGraphicsView

MainWindow用 aQStackedWidget和 a 做了 a QMenuBar。我的一个小部件包含一个QGraphicsView我提升为我的自定义QGraphicsView( DrawingView) 的小部件。我想将QActionsmenuBar 连接到我的 custom DrawingView

我设法让QActions连接到小部件的那些工作正常,但我不知道如何从DrawingView.

这是我用于其他的代码QActions

我为 DrawingView 尝试了这个,但我知道它只是创建一个新的 DrawingView,而不是使用 Draw ui 中的一个。

我也试过这个,它在 ui->stackedWidget->widget(1)->graphicsView 上报错:

有关如何从 MainWindow 连接或如何访问第二个小部件内 MainWindow 的 ui 的任何帮助。

0 投票
1 回答
81 浏览

python - 如何连接 Qtoolbutton 和 QStackedWidget(都在同一个框架中)

主窗口

我创建了一个窗口,其中有 4 个不同的 QToolButtons,它位于 QStackedWidget 之外。当我单击第一个 QToolButton 时,如图所示,Balance Inquiry 应显示 Balance Inquiry 的内容,其余 QToolButtons 的内容类似。两者都在同一个框架中。

我不知道如何连接。我正在学习 PyQt5。我只是在使用设计器,并且对 PyQt5 中的编码有一个非常基本的想法。

GitHub 存储库链接是:https ://github.com/abhi7585/Bank-of-Braavos

0 投票
0 回答
597 浏览

python - 使用 PyQt5 QStackWidget 构建复杂的 GUI

所以本质上,我想使用 treeView 顶层选择作为更改 QStackWidget 1 页面的触发器,并使用子选择作为更改 QStackWidget 2 页面的触发器,如图所示。早些时候,我使用 selectedindexes 函数来获取选择并且它正在工作,但是每次我单击另一个文件时它都会重新绘制数据,并且我在“数据视图”选项卡中所做的更改都丢失了。然后我阅读了有关 StackedWidgets 的信息。

对于添加的每个新文件或过滤器,我在加载函数中使用了一个计数器 (self.counter += 1) 来附加新的顶层/子级并跟踪特定函数的执行次数。

在此处输入图像描述

我有3个问题:

  1. 使用 QStackWidget 是最好的方法吗?
  2. 如何处理删除事件,以便如果删除了某个第 3 个文件,它会正确显示其他文件视图中的数据?扩展:使用 self.counter 是跟踪函数加载的最佳方式吗?
  3. 如何让每个新页面都具有与初始相同的小部件但具有空白数据?

更新:上传代码并创建了填充 treeWidget 的新(测试)方式。仍然不知道该应用程序是否继续使用 treeWidget 或 treeView。您可以打开任何 csv 文件,其中第一行作为标题(X 轴),其余行作为 Y 轴。已经创建了一个用于删除的 contextMenu,但不知道如何获取选定的索引来获取子项、父项,目前它们只显示父项。为此需要一些数据结构,以便在删除或添加某些内容时返回文件/任务的序列并保持不变。

下载可绘制文件的链接

这是我正在考虑的结构。请提供您的意见:

0 投票
1 回答
281 浏览

c++ - 如何根据 QListWidget 上的选择在 QStackedWidget 上显示正确的 GUI

如何根据QStacked Widget选择正确显示正确的用户界面QListWidget

下面我有一个QDialog包含:

1 QListWidget

1 QStackedWidget

堆

根据列表中选择的选项,例如 Vessel Position System 或 Output,界面应如下所示,但问题是,不幸的QStacked Widget是,当前并没有改变QWidgets我选择的选项QListWidgets,实际上没有显示任何内容。可以在此处找到最小可验证示例。只需克隆它,它就会工作:

输出

代码下方:

选项对话框.h

选项对话框.h

容器poswidget.h

容器poswidget.cpp

输出.h

输出.cpp

到目前为止我做了什么:

我正在探索使用 a 的可能性,QStacked Widget因为我对它不是很熟悉,想用一个基本的例子来练习。我正在调查这个来源这个来源

同样来自同一来源,我阅读了更多文档。但是,我不能完全理解这个特定小部件的用途。

除此之外,我还尝试了一个switch - case循环,如上面代码所示,但我不确定为什么它不起作用

任何人都可以提供一些关于如何根据QStacked Widget选择正确显示正确用户界面的指导QListWidget吗?任何解决此问题的方向都值得赞赏。

0 投票
1 回答
341 浏览

c++11 - 选择 QListWidget 后如何显示正确的 QStackedWidget 页面

我有1 QListWidget1 QStackedWidgetQstackedWidget选择 上的条目后,将显示三个不同的小部件QListWidget

问题:当我选择第一个选项时,没有任何反应,如果我选择第二个选项,也没有任何反应,但是当我选择最后一个选项时,我会在QStackedWidget. 此小部件不属于第三个小部件,但它属于第一个小部件。

[QListWidget::currentRowChanged( C++ - QListWidget select first item ) 的信号似乎没有被正确触发。为什么会这样?基本上似乎只触发了最后一个选择而不是所有其他选择。

在代码片段下方:

1个解决方案:部分有效,因为在三个选择中我只能看到最后一个QWidget显示QStackedWidget

2 解决方案:部分有效,因为在三个选项中我只能看到最后一个QWidget显示在QStackedWidget. 该解决方案取自QStackedWidget 的官方文档

3 解决方案:完全相同的效果,仅显示第三种QWidget

我不知道.ui在选择QListWidget. 有什么我想念的吗?我尝试了所有可能的connect组合,但尽管如此,我只能展示第三个选择。

0 投票
0 回答
221 浏览

c++ - 自动调整 QStackedWidget

我有一个StackedWidget继承自QStackedWidget. 的标准行为QStackedWidget是它采用其最大元素的大小。我想要做的是强制它调整到它的当前元素。我已经尝试了一些在这里找到的解决方案,但它们都不起作用,包括设置大小策略或调用hide()所有看不见的小部件。

我认为问题可能存在于两种可能性: 1. 出现严重问题StackedWidget。2. 调整大小的问题不直接与StackedWidget某些布局或StackedWidget嵌套在其中的另一个小部件有关。

  1. 关于第一种可能性,我在这里提供StackedWidget课程。

请看一下我StackedWidget的声明是什么样的:

定义如下:

  1. 关于第二种可能性,这里是我如何使用StackedWidget.

我想提前对愿意花一些时间解决我的问题的人表示感谢。我很感激。谢谢。你很棒。

0 投票
1 回答
616 浏览

python - 在 PyQt5 中使用 QStackedWidget

我在 ApplicationWindow 类和按钮中有 QStackedWidget,它们将指向 MenuWindow 中的不同 QWidget。我需要帮助编写一个函数,该函数会根据单击的按钮更改 CurrentWidget - 例如 login_button 会将 CurrentWidget 更改为 LoginWindow。
当我自己尝试做这件事时,我遇到了递归问题,因为我刚开始学习 Python。

0 投票
1 回答
769 浏览

c++ - 如何在 QStackedWidget 中动态添加小部件

为了复制这个问题,我准备了一个可验证的小例子。

QStackedWidgets在 aQGroupBox中有 2 个,还有几个组件,如下所示:

堆

我创建了另一个名为的小部件,它只QBoxForm携带一个QComboBox。勾选后,最后一个小部件应出现在QStackedWidget左侧。QCheckbox

影响

收到一些东西,QStackedWidget因为它变大了,但它没有显示QComboBox。如何确保组件在内部完全可见QStackedWidget

主窗口.cpp

主窗口.h

最后由另一个小部件处理的附加组合框:

cboxform.h

cboxform.cpp

到目前为止我做了什么:

1)我按照官方文档并按照建议应用了该方法insertWidget()。事实上,这正是我所做的。这部分有效,并且可以通过QStackedWidget我选中该框时变大的事实来确认。

因此,我也以类似的方式删除了小部件,应用了官方文档中提供的removeWidget()方法。

一切似乎都遵循正确的功能,但唯一缺少的部分是我不明白为什么QComboBox没有出现在QStackedWidget我严格遵循官方文档的情况下。

关于我可能遗漏或忘记包含在上述代码中的任何想法?感谢您指出解决此问题的正确方向。