问题标签 [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 回答
743 浏览

qt - 在 Qt 中使用按钮堆叠小部件页面

如何QStackWidget使用 s 导航页面QPushButton?每当单击按钮时都需要调用哪个方法,以便它打开一个特定的堆栈小部件页面。

感谢和问候,

0 投票
1 回答
482 浏览

python-3.x - PyQt5:QStackedWidget 背景在动画期间可见/白色

我正在使用 Python 3.8 和 PyQt5 编写一个带有“Designer”的 GUI,该 GUI 与 Qt5-Package 一起安装,然后翻译(使用 pyuic5)到一个 .py 文件。

实际上,当堆叠小部件的当前索引发生变化时(单击按钮时它会更改/切换),我有一个渐变动画。

我的问题... 在动画到堆叠小部件的其他页面时出现白色背景。我想让它透明,例如。不可见,因此背景中的图像可见(它位于另一个文件“资源”中)。

我已经尝试为堆叠的小部件设置固定背景。这样,在动画期间看不到白色。但是,我的目标是将其设置为透明以查看背景。在某些页面上,我找到了将样式表设置为“背景:透明”或将属性设置为“WA_TranslucentBackground”的信息,但所有这些都对我不起作用。样式表 background-color: rgba(0,0,0,0) 都不起作用。

我希望有人可以帮助我解决我的问题。如果缺少任何信息,请发表评论。预先感谢。


更新:一个要测试的代码片段...

有一个非常小的代码片段可以工作(我不记得我是从哪个网站获得的)。我将背景涂成绿色,所以问题是可见的。使用 Python 3.8 运行以下代码我得到了...

IncorrectFadingAnimationAtQStackedWidgetSimplified

很明显,我在动画过程中遇到了与白色背景相同的问题。

希望现在更容易提供帮助。


我试图简化我的python代码,但它仍然是一些代码......

主要.py:


函数.py:


我的问题预览: IncorrectFadingAnimationAtQStackedWidget

0 投票
4 回答
52 浏览

qt - 为什么要开2个窗户?

我的 QT 应用程序打开了两个窗口。一个是空的,一个是显示 button1 的。有人能告诉我为什么吗?

我已经尝试了一切,但我找不到问题的根源。如果有人可以帮助我。

主文件

主窗口.h

主窗口.cpp

0 投票
2 回答
197 浏览

python - 在 PyQt5 中,从 QStackedWidget 上的标签单击按钮时,如何移动到另一个标签?

在 PyQt5 中,从 StackedWidget 上的标签单击按钮时,如何移动到另一个标签?

当您单击pushButton_3时,我希望出现 After 屏幕(After label)。

我应该使用什么代码来显示 After 屏幕(After 标签)?

完整代码:

这是之前的屏幕。 在此处输入图像描述

这是之后屏幕。 在此处输入图像描述

0 投票
1 回答
893 浏览

python - 如何根据 PyQt5 Python 中的窗口大小调整 PyQt5 堆叠小部件的大小?

我正在设计一个uiin qt-desginer. 我必须创建一个 UI,它有一个带有按钮的侧面菜单栏,无论按下哪个按钮,其相应的数据都将显示在右侧。

为了设计这个,我在中央小部件上放了QFrame两个horizontal layoutQFrame我减少了命名左侧的宽度,side_menu_bar因此它已成为侧面菜单栏。QFrame在名为的右侧content_area,我放置了一个stackedWidget包含多个页面的。

现在我想显示的任何数据stackedWidget都必须覆盖整个区域,content_area因此我使用了vertical layouton stackedWidget。上page_2stackedWidget我放了一个tablewidget。如果用户单击侧菜单栏,page_2则会显示此信息。pushButton

下面是UI文件的python代码:

下面是我如何使用它app.py

现在根据我的理解,我想全屏显示我的应用程序并希望适合窗口的整个区域。所以为此我附上horizontal layoutcentral widget

现在为了使表格小部件覆盖堆叠小部件的完整区域,我在按钮按下事件中使用了以下代码:

根据我的理解,我们想要在堆叠小部件中显示的任何小部件都必须覆盖堆叠小部件的完整区域,因此我已将堆叠小部件附加到垂直布局,然后我将内容区域的布局设置为 layout2(这是垂直布局) . 现在通过这样做,如果我单击按钮以显示表格小部件,则不会显示任何内容:

在此处输入图像描述

在这里我有一个问题,当我单击按钮以显示表格小部件时,表格小部件未显示,而是显示了一个空白窗口,该窗口也覆盖了侧面菜单栏。?

如果我将上面的代码替换为:

所以在这种情况下,我将表格小部件添加到垂直布局而不是堆叠小部件。下面是输出:

在此处输入图像描述

它确实显示表格,但仅在半屏上显示。它也删除了侧面菜单栏。

我无法完全理解使用layout时如何使用stacked widgets. 谁能指导我如何做到这一点。请帮忙。谢谢

这是下载文件的链接home2.ui

在此处输入图像描述

在此处输入图像描述

更新:

我终于能够解决这个问题。我使用了作为基本布局的水平布局,它有两个孩子content areaside menu bar. 两者content area都有side menu bar垂直布局。我可以根据side menu bar需要添加任意数量的内容,并且由于垂直布局,它将自动对齐。在content area我添加了堆叠的小部件,它又是垂直布局的孩子。在堆叠小部件的第 2 页中,我必须添加另一个垂直布局,然后添加表格小部件。现在它完美地显示出来。

以下是所有代码:

用户界面代码:

应用程序.py:

这就是qt-designer对象检查器的样子:

在此处输入图像描述

感谢@allec 和@musicamante。

0 投票
1 回答
39 浏览

python - 为什么QStackedWidget子页面中的widget btn1只能为QStackedWidget定义信号,而不能为QStackedWidget中的page: deviceTypeSelect定义信号?

我想用btn1向deviceTypeSelect的slot函数发送信号,但是btn1只能和QStackedWidget关联。 在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
80 浏览

python - Pyqt5 python中的Stackwidget

我正在创建一个包含 3 页的 StackWidget 屏幕。问题是stackwidget页面中只有一个页面显示了其中的所有小部件,但其他页面在角落切割了三个元素,请参见照片

错误页面:
错误页面

正确的页面,我希望其他页面在四个角落显示所有小部件:
正确的页面,我希望其他页面在四个角落显示所有小部件

块引用

0 投票
1 回答
221 浏览

python - 更改 QStackedWidget 索引的问题

让我描述一下我的问题。我正在使用 PySide2、QtDesigner 和 Python。在 QtDesigner 中,我创建了 QTakedWidget 并推广了我的客户页面。我使用这里建议的项目结构https://stackoverflow.com/a/53926554/14071081当单击 Add_Strategy_Page_Rule 中的 pushButton 时,我想访问 将 currentIndex 更改为 0。window = MainWidget()创建 MainWidget 的新对象不起作用,所以我认为唯一的方法是window从 mainWindow.py 以某种方式聊天/导入。import main简单地通过add_stratrgy_rule_page.py导入 main会导致:来自控制台的屏幕 是否有解决方案/技巧?

主窗口.ui

主窗口.py

strategy_page.ui

策略页面.py

add_strategy_rule_page.ui

add_strategy_rule_page.py

0 投票
1 回答
164 浏览

python - 每个 QStackedWidget 页面的类

我正在使用 PyQt5 和 Qt-Designer 来设计应用程序。

如何为 QstackedWidget 上的每个页面实例化一个类。我可以在一个类中完成,所有小部件都属于同一个 QMainWindow。但是,问题是文件会变得太长且不切实际。如何为每个页面分配一个类。例如, classI处理 Page 上的所有小部件, IclassII处理 Page 上的所有小部件II;在 QMainWindow 文件中,我可以分配一个代表每个页面的对象。

我该怎么做?

0 投票
1 回答
78 浏览

python - 通过 QStackedWidget 动态修改同一个小部件的多个实例

我无法动态更改 QStackedWidget 的多个实例的布局/元素。下面的完整代码使人们能够切换一个按钮,单击该按钮将创建一个具有被切换按钮的相应名称的 QFrame,并且在取消切换时将因此删除具有与该按钮关联的相应名称的框架。但是,我希望能够使用它旁边的 QComboBox 来修改通过左侧按钮创建的 QFrame 的布局。在前面的示例中,我已经能够取消单击所有按钮,从而删除框架,然后通过组合框选择正确的布局,然后在通过重新切换按钮重新创建框架时查看框架的调整布局。