问题标签 [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.
qt - 在 Qt 中使用按钮堆叠小部件页面
如何QStackWidget
使用 s 导航页面QPushButton
?每当单击按钮时都需要调用哪个方法,以便它打开一个特定的堆栈小部件页面。
感谢和问候,
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 运行以下代码我得到了...
很明显,我在动画过程中遇到了与白色背景相同的问题。
希望现在更容易提供帮助。
我试图简化我的python代码,但它仍然是一些代码......
主要.py:
函数.py:
qt - 为什么要开2个窗户?
我的 QT 应用程序打开了两个窗口。一个是空的,一个是显示 button1 的。有人能告诉我为什么吗?
我已经尝试了一切,但我找不到问题的根源。如果有人可以帮助我。
主文件
主窗口.h
主窗口.cpp
python - 如何根据 PyQt5 Python 中的窗口大小调整 PyQt5 堆叠小部件的大小?
我正在设计一个ui
in qt-desginer
. 我必须创建一个 UI,它有一个带有按钮的侧面菜单栏,无论按下哪个按钮,其相应的数据都将显示在右侧。
为了设计这个,我在中央小部件上放了QFrame
两个horizontal layout
。QFrame
我减少了命名左侧的宽度,side_menu_bar
因此它已成为侧面菜单栏。QFrame
在名为的右侧content_area
,我放置了一个stackedWidget
包含多个页面的。
现在我想显示的任何数据stackedWidget
都必须覆盖整个区域,content_area
因此我使用了vertical layout
on stackedWidget
。上page_2
,stackedWidget
我放了一个tablewidget
。如果用户单击侧菜单栏,page_2
则会显示此信息。pushButton
下面是UI文件的python代码:
下面是我如何使用它app.py
现在根据我的理解,我想全屏显示我的应用程序并希望适合窗口的整个区域。所以为此我附上horizontal layout
了central widget
:
现在为了使表格小部件覆盖堆叠小部件的完整区域,我在按钮按下事件中使用了以下代码:
根据我的理解,我们想要在堆叠小部件中显示的任何小部件都必须覆盖堆叠小部件的完整区域,因此我已将堆叠小部件附加到垂直布局,然后我将内容区域的布局设置为 layout2(这是垂直布局) . 现在通过这样做,如果我单击按钮以显示表格小部件,则不会显示任何内容:
在这里我有一个问题,当我单击按钮以显示表格小部件时,表格小部件未显示,而是显示了一个空白窗口,该窗口也覆盖了侧面菜单栏。?
如果我将上面的代码替换为:
所以在这种情况下,我将表格小部件添加到垂直布局而不是堆叠小部件。下面是输出:
它确实显示表格,但仅在半屏上显示。它也删除了侧面菜单栏。
我无法完全理解使用layout
时如何使用stacked widgets
. 谁能指导我如何做到这一点。请帮忙。谢谢
这是下载文件的链接home2.ui
更新:
我终于能够解决这个问题。我使用了作为基本布局的水平布局,它有两个孩子content area
和side menu bar
. 两者content area
都有side menu bar
垂直布局。我可以根据side menu bar
需要添加任意数量的内容,并且由于垂直布局,它将自动对齐。在content area
我添加了堆叠的小部件,它又是垂直布局的孩子。在堆叠小部件的第 2 页中,我必须添加另一个垂直布局,然后添加表格小部件。现在它完美地显示出来。
以下是所有代码:
用户界面代码:
应用程序.py:
这就是qt-designer
对象检查器的样子:
感谢@allec 和@musicamante。
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
python - 每个 QStackedWidget 页面的类
我正在使用 PyQt5 和 Qt-Designer 来设计应用程序。
如何为 QstackedWidget 上的每个页面实例化一个类。我可以在一个类中完成,所有小部件都属于同一个 QMainWindow。但是,问题是文件会变得太长且不切实际。如何为每个页面分配一个类。例如, classI
处理 Page 上的所有小部件, I
classII
处理 Page 上的所有小部件II
;在 QMainWindow 文件中,我可以分配一个代表每个页面的对象。
我该怎么做?
python - 通过 QStackedWidget 动态修改同一个小部件的多个实例
我无法动态更改 QStackedWidget 的多个实例的布局/元素。下面的完整代码使人们能够切换一个按钮,单击该按钮将创建一个具有被切换按钮的相应名称的 QFrame,并且在取消切换时将因此删除具有与该按钮关联的相应名称的框架。但是,我希望能够使用它旁边的 QComboBox 来修改通过左侧按钮创建的 QFrame 的布局。在前面的示例中,我已经能够取消单击所有按钮,从而删除框架,然后通过组合框选择正确的布局,然后在通过重新切换按钮重新创建框架时查看框架的调整布局。