问题标签 [qwizardpage]

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 回答
1060 浏览

qt - QWizardPage: how to re-disable "Next" button

I have a QWizardPage where user is supposed to go through certain steps, at the end of which there is a button "Test". If user presses that button, two things happen:

  1. "Next" button gets enabled in order to go to the next page of the QWizard. This is achieved by emitting a button's special signal which is connected to QWizardPage:

    this->registerField("test*", m_button, "text", SIGNAL(testDone()));

m_button is derived from QPushButton with a custom signal testDone().

  1. Button name is changed to "Try again" in order to offer an option to try the series of steps all over again. If user presses the button, the GUI elements return to the initial state (except disabling the button "Next" on QWizard).

The question is: for the second scenario, how do I make sure the "Next" button gets disabled after being enabled by the emitted testDone() signal?

I thought if I disconnect the particular signal testDone() from QwizardPage (after it is emitted), it would give the desired results, however, it did not work. I tried to disconnect everything on the QWizardPage (e.g. this->disconnect), but that also didn't work. Any other ideas?

0 投票
1 回答
468 浏览

python - 页面加载后显示消息框pyqt5

我有一个 PyQt5 向导,在第二页上,我希望根据以前的内容改变行为。

我已经实施initializePage

我希望页面先加载,然后做一些事情,例如下载文件并显示进度条等,但直到页面加载。

QMessageBox在页面加载之前弹出。

下面是一个MVCE

0 投票
1 回答
440 浏览

python - pyqt 向导 registerfield 作为字符串而不是整数

我正在尝试使用 PyQt5 创建一个向导,并且我正在尝试使用户在一个页面上输入的输入影响用户在下一页上看到的内容。但是,当我尝试这样做时,我只看到索引值而不是文本。

创建一个列表,然后将索引值映射到列表中的适当位置以获取字符串似乎有点笨拙,所以有人知道 PyQt 是否有更好的内置函数来做到这一点?

0 投票
1 回答
148 浏览

python - PyQT 无法跨 QWizardPage 传递文件名

我试图让用户将文件上传到一个 QWizardPage 上的应用程序,然后能够在另一个 QWizardPage 上重新使用相同的文件路径。但是,从我的代码

我收到一个错误

TypeError:registerField(self,str,QWidget,property:str = None,changedSignal:PYQT_SIGNAL = 0):参数2具有意外类型'str'

有没有一种简单的方法可以将此特定字符串(self.name)转换为能够传递到向导中其他页面(即在本例中,传递到结论页面中的字幕字段)的 QWidget?

我已经查看了文档,但无法弄清楚,所以希望得到一些指导。谢谢。

0 投票
1 回答
618 浏览

qt - 如何在 QWidzard 上添加 QFrame 或 QWidget 作为 QWizardPage

我尝试在子类上添加框架/小部件子QWizard类,但向导页面为空白。我添加了QMainWindow子类,它工作正常。

第二个向导页面仅显示一个按钮。框架不存在。框架子类我测试过没有问题。

0 投票
1 回答
185 浏览

python - 中心调整大小的 Qwizard 页面

我有一个Qwizard2 页。

打开向导时,它位于屏幕中间。

第一页小于第二页。

单击下一步并显示第二页时,它将额外的项目添加到第一页的底部,但不会重新居中页面。

在较小的屏幕上,这意味着按钮在底部不在屏幕上,除非用户向上移动窗口,否则无法看到。

我曾尝试使用标准 QT 小部件居中,但Qwizard似乎对此没有反应。

如何将向导的第二页重新居中以显示整个小部件?

0 投票
1 回答
962 浏览

python - 如何使用 PySide2 在 QWizardPage 中加载 Qt Designer 文件 (.ui)

我想在 Qt Designer 中设计我的 QWizardPages,我想用 PySide2 将它们加载到我的 Python 程序中。以前我一直在使用 PyQt5 没有任何问题,但是切换到 PySide2 似乎比预期的要难。我面临的问题是,当我将 QWizardPage 添加到我的 QWizard 时,该页面确实添加到了向导中,但也添加了另一个(空)页面。我无法找到我做错了什么,所以我想知道是否有人可以看看。

我尝试使用 addPage() 和 setPage() 函数添加页面,但它们给出了相同的结果。我还注意到,当我使用 setTitle() 显式设置页面的标题时,空的(不需要的)页面会得到这个标题,而不是我在 Qt Designer 中设计的页面。

我期望的是只有一个 QWizardPage 直接显示 Finish 按钮。相反,我得到两个 QWizardPages,如下图所示:

在此处输入图像描述

有人可以告诉我发生了什么事吗?

(我使用 PyQt5 和以下代码获得了预期的结果:https ://pastebin.com/6W2sx9M1 )

0 投票
1 回答
49 浏览

c++ - 设置 QWizard 页面的按钮宽度

如何调整按钮的宽度(后退、下一个按钮)QWizard. 有没有我可以使用的样式表 (qss) 选项,还是我必须识别按钮并设置小部件宽度?

样式表方法是最好的。

0 投票
1 回答
271 浏览

python-3.x - 如何在 PyQt5 中自定义 QWizard 的标题?

我正在设计一个助​​手,用于在带有其他小部件的项目中为 csv 文件收费。我几乎完成了助手,子类化 QWizard 和 QWizardPage,但我坚持自定义标题和副标题的方面,因为它必须与整个应用程序的方面保持一致

我尝试使用样式表并使用 HTML 代码设置标题,但它没有按预期工作。我需要让标题背景变暗(#38474F),标题颜色为“白色”(#F0F0F0)。我还希望标题的字体为 Arial 12 Bold,并且(如果可能)字幕的字体为 Arial 10(如果不可能,没问题)

在下面的链接中,您可以看到助手的方面如何以及另一部分的方面如何。我在第二个中删除了应用程序的徽标,但它在白色方块中

现在助手的样子

应用程序另一部分的图像

0 投票
1 回答
117 浏览

python - 创建虚拟环境时,传递给 venv.create() 的参数无效

我正在使用 PyQt5 向导来创建 Python 虚拟环境。创建环境有效。参数(例如,带或不带pip,...)从 a 传递到Python 附带的模块QCheckBox()create()函数。venv

问题是传递的参数venv.create()对虚拟环境的创建没有影响。它始终使用默认设置创建(例如,pip默认安装)。

但是如果我with_pip=False直接通过,pip就不会安装。这意味着,由于某种原因,传递的参数args对创建没有影响。我尝试将值转换为bool(),但这没有用。

我不清楚为什么,因为print(args)输出TrueFalse(作为字符串),取决于isChecked()相应QCheckBox().

此外,我正在使用locationand name(in args) 来构建将安装虚拟环境的路径,这很好用。

有人可以解释为什么venv.create()不接受来自的论点isChecked()QCheckBox()?还是我错过了什么?


重现代码: