问题标签 [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 投票
1 回答
6734 浏览

python - 将 QStackedWidget 用于多窗口 PyQt 应用程序

我有一个多窗口 PyQt5(带有 Qt 5.9.0 的 Python 3.6.2)应用程序,在标准桌面(即窗口管理)环境中运行时可以完美运行。我的目标平台是嵌入式设备(例如 Raspberry Pi、i.MX6 等),我不会在其中使用 X11 窗口系统。我目前正在使用不支持多个窗口的 eglfs 平台测试嵌入式设备。我正在考虑使用 QtWayland 平台,或者修改我的方法以使用 QtStackedWidget 将“窗口”作为堆栈中的单个页面包含在内。

如何修改以下高级窗口应用程序以利用 QStackedWidget 排列,以促进无窗口环境中的多页应用程序?

0 投票
1 回答
18993 浏览

c++ - 如何在 GUI 中使用 QStackedWidget?

我是 Qt 新手,我必须为此创建一个具有多个窗口的 GUI,我QStackedWidget使用 Qt 设计器工具找到了类。

QStackedWidget使用 add new->Qt Designer form class->Qstackwidget 添加

之后我在我的主窗口中创建了这个类的一个对象

然后我尝试通过以下方式显示 StackedWidget:

但是 stackwidget 没有打开。

有人可以告诉我我做错了什么以及如何QStackedWidget使用设计器工具实现 GUI?

0 投票
1 回答
1125 浏览

python - 堆叠的小部件页面

当我单击取消按钮(来自 cancel_button_clicked(self): 函数)时,我无法返回堆叠小部件的第一页

0 投票
1 回答
2402 浏览

python-3.x - PyQt5如何在一个窗口中显示不同的页面?

窗口快照

如您所见,我创建了一个带有左按钮的窗口,但我不知道如何使用 QStackedWidget 在按下每个按钮后显示不同的视图。我搜索了几个类似的问题,但它们对我没有用。我是 PyQt5 的新手。我在下面添加我的代码,请看一下。

这是我的代码:

0 投票
1 回答
1122 浏览

python - PyQt4中如何连接QTreeWidget和QStackedWidget?

对不起,我只是 Python 的初学者。我只想通过 QTreeWidget 的项目单击来更改 QStackedWidget 的索引。我在网上搜索了SIGNAL和SLOT的教程,但无法解决问题。未拟合 QTreeWidget 信号和 QStackedWidget 插槽中的参数。

我试过这个:

它只是显示了错误:

我认为可能有一种方法,但我在网络上找不到。

像这样:

在 StockDialog 类中将 QTreeWidget 更改为 QListWidget 时,它可以工作。

现在,我想用 QTreeWidget 做到这一点,我该怎么做?

0 投票
1 回答
727 浏览

python - 当 QListWidget 索引改变时更新嵌套的 QStackWidget

我面临着一个我无法解决的问题,即使它不应该是困难的。

我有QListWidget5 个项目(所以 5 行)和 2 个相关QStackedWidgets的 . 第一个由 3 页组成:它的第一页包含另一个嵌套QStackedWidgets2 页。所以总共有 5 页。

一个小 gif 有一个想法:

在此处输入图像描述

现在我要做的是创建一个链接 theQListWidget和 2的函数QStackedWidget。我希望第 1 项和第 2 项QListWidget仅链接到父项的第一页以及嵌套QStackedWidget的第一页和第二页,而第 3、4 和 5 项仅链接到父项(第 2、第 3 和第 4 页)。 QStackedWidgetQStackedWidget

我写的一段代码如下:

但是有些东西不能正常工作:对于QlistWidget第 0 行和第 1 行来说效果很好,但似乎没有考虑到 else 语句。

一些建议?

0 投票
1 回答
149 浏览

python - 基于 Tuple 自动创建 QStackedWidget 页面

我对 python 很陌生,我觉得这是一个高级问题,考虑到它可能超出了 Stack Exchange 的范围。请多多包涵。

我有一个 QTreeWidget 和 QStackedWidget。我已经使用元组填充了 QTreeWidget

我想使用这个相同的元组来填充一个 QStackedWidget 与 QTreeWidget 对应的页面,并在同一个循环中建立信号和槽。我试过使用:

但是所有对象都指向相同的十六进制值,我认为这意味着它们不是唯一的。也许我需要增加索引?在任何一种情况下,我都无法弄清楚如何在执行此操作时生成信号和插槽,因为它们是动态创建的,我需要唯一但可预测的名称。

这个想法是,通过简单地向元组添加一个新的类别或项目,QTreeView、QStackedWidget 和信号/插槽都在运行时生成,而无需修改元组之外的任何源代码。

实现这一目标的最佳方法是什么?

对不起,如果这太多了,但我认为这可能是一个很好的问题,以防其他人在以后尝试同样的事情。

编辑:我正在使用 Python 3.6 和 PyQt5

0 投票
1 回答
1680 浏览

python - Dynamically adding pages to QStackedWidget using a custom widget designed in Qt Creator

So I'm lost ... again. I have a QMainWindow with a empty QStackedWidget. I would like to dynamically populate the QStackedWidget using a custom widget that I created in Qt Creator. I tried following Creating a custom widget in PyQT5 in another thread, but that doesn't really cover importing from a UI file in this case. I keep receiving:

AttributeError: 'QStackedWidget' object has no attribute 'addItemWidget'

Here is the code for the Widget...

Relevant code from main.py:

I understand that I'm getting this error because QStackedWidget has no defined attribute called 'addItemWidget, but I don't know what I need to do to get this to work as intended. When I try overriding the method using 'addWidget', I get an unexpected value error.

Any ideas? I'm fairly new to Python and still learning, so if I'm missing some important information please let me know.

I have a few different revisions of my MainWindow.ui. One just has a QStackedWidget where I want the pages to go, the other is completely laid out how I would imagine the final product to look. The ItemWidget.ui file just contains the elements I want to add to each QStackedWidget page. I have not promoted any of them to a custom class, which I suspect I will need to do.

I'm currently using Python 3.6 and PyQt5

** EDIT TO ADD MVCE **

TestApp.py

TestMain.py

TestItemWidget.py

TestItemWidget.ui

TestMainWindow.ui

0 投票
1 回答
1580 浏览

c++ - Qt 多窗口设计

我为长段道歉,但这是我可以解释这一点的唯一方法。

基本问题:如何让多个窗口共享一些 UI 功能,而不将它们全部放在一个大类中?

我的情况:我对包含多个窗口的应用程序的设计有疑问。窗口将共享 UI 上的几个组件(日期和时间、电池等)。每个窗口也将有很多自己的 ui 功能。我最初的想法是有单独的窗口,这样类就不会那么大,而且 ui 文件更容易查看。但是,我发现我为共享 ui 功能重复了代码,因为我必须在每个类中实现它。此外,我被迫在窗口之间建立许多连接,以确保在更改窗口时处理某些事情。

可能的解决方案:我读过 QStackedWidget 对多个窗口有好处,但一切都在一个类中。除非当然有一种方法可以处理主 ui 的子类中的一些 ui?不制作其他ui文件?

0 投票
1 回答
867 浏览

c++ - 来自 QWidget 的 QMainWindow 的 setWindowState

我有一个 QMainWindow 应用程序,其中还包括一个 QStackedWidget。例如,QstackedWidget 的页面被提升为 ui 小部件heating_widget.ui 如果我在 QMainWindow 上使用按钮槽,我可以使用它来让我的应用程序全屏显示:

但是我怎样才能从 heat_widget.cpp 文件中的按钮做到这一点呢?使用:

显然不起作用并向我抛出此错误:

不能在没有对象 SmartHome::setWindowState(Qt::WindowFullScreen) 的情况下调用成员函数 'void QWidget::setWindowState(Qt::WindowStates)';

我知道这与 parent() 有关,但我无法让它工作。

你有什么主意吗?

我的 smarthome.h 文件:

我的 heat_widget.h :

和我的 heat.widget.cpp: