问题标签 [qwizard]

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

python - QWizard:删除访问页面的历史记录

我正在开发一个基本上遵循预定义结构的项目,例如状态机或向导。我偶然发现了 QWizard,它的 nextId() 函数似乎是让我的向导动态加载更多页面的好方法。现在,回到之前已经访问过的向导页面会非常好。但即使使用重载的 nextId() 我也无法回到已经访问过的页面。

是否可以清除访问过的页面历史记录?还是有更好的方法来做到这一点?

我在 Python 中使用 Qt by PyQt4,但这应该会产生很大的不同。做我要求的另一种方法是向向导添加一个类似的页面并与该页面共享以前的数据,但主要来自 C++ 我不喜欢创建模仿原始对象的虚拟对象的方式。

编辑: 我想做的是用 QWizard 复制一个状态机(因为它几乎是一个状态机)。例如,在第 1 页上加载数据,然后在第 2 页上发生可能扩展第 1 页数据的额外计算。通过使用后退按钮,我可以返回到第 1 页,但我不能使用下一个按钮“返回”,因为此时已经访问了第 1 页。我通过重载 nextId() 函数进行了尝试,但它不起作用。这意味着我不能建立一个循环的页面顺序,这是我想做的。

0 投票
2 回答
1215 浏览

python - QWizard:更改标题字段的高度/尺寸

我目前正在尝试为我正在开发的 Python/Qt 应用程序实现一个简单的“第一步”向导。使用 Designer 很容易做到这一点,但像往常一样,魔鬼在于细节。我的问题是“标题”字段对我来说太大了(大约 50% 的可用屏幕空间)。这是一个屏幕截图还有*.ui 文件。

我已经查看了所有 QWizard/QWizardPage 属性,但找不到任何与“标题”字段的大小/样式相关的内容。有什么方法可以做到这一点(也许使用自定义样式表?)还是我不走运?

0 投票
1 回答
252 浏览

python - 如何使 QWizard 的字幕中的链接可点击?

我正在按照 Qt 的classwizard示例构建一个小向导。

现在我将QWizard实例的 subTitle 设置为一些包含链接的 html 文本。我知道QLabel.setOpenExternalLinks(True)但是我如何用 a 达到同样的QWizard效果subTitle

我看了看,QWizardOptions但那里什么都没有。

请看下面的图片:

http://imgur.com/zr3ILq2

我想让 www.plugincafe.com 在默认浏览器中打开。

谢谢阅读。

编辑:我已经在调用实例self.setSubTitleFormat(1)在哪里selfQWizard而 1 是枚举值,Qt::RichText因为我不知道如何在 PyQt 中获取正确的枚举常量。

我尝试了所有可能的 4 个枚举值,但除了文本样式或没有它没有改变任何东西。

嵌入 HTML 的字符串值为'Obtain a unique ID from <a href="http://www.plugincafe.com">www.plugincafe.com</a> or use <font color="maroon">%s</font> for testing purposes.' % PLUGIN_ID_TESTING

0 投票
0 回答
93 浏览

qt - 无法从页面访问向导按钮

我想禁用向导页面上的“返回”按钮:

但按钮保持活动状态。为什么?

0 投票
1 回答
1249 浏览

python - PyQt:获取特定 QWizard 页面的 id

我为了使用 pyqt4 设计一个非线性向导,我nextId()PyQt4.QtGui.QWizardPage.

上面的代码工作正常。但是当我在向导的开头插入另一个页面时,我需要更改上面函数中的返回值(2 和 3)。我有可能获得特定页面的ID吗?我想要这样的东西:

0 投票
1 回答
1957 浏览

python - 在 PyQt 向导中显示页面后如何连接信号。?

我在 PyQt4 中使用Qt Designer. 在向导的一页上,存在一个 'text_Browser' 类型的对象QTextBrowser。我正在使用该函数QTextBrowser.append()根据一些处理向它添加文本。

我希望在显示此页面后执行附加功能,而不是将操作(信号)连接到 Next 或上一页上的任何其他按钮。我该怎么做呢?

0 投票
1 回答
895 浏览

python - PyQt 获取 QWizard 中所有注册字段的集合

我正在研究一个QWizard在其页面上显示一些单选按钮的简单程序。给定页面上的按钮都是相同的一部分QButtonGroup。根据按钮组中的选择,页面本身注册为自定义字段:

我最终注册self为包含字段属性的小部件,只是因为QButtonGroup不是QWidget. 所有其他页面看起来都非常像这样(我实际上使用基类来完成所有常见的工作,这只是一个最小的示例)。

我希望能够获得所有已注册字段的列表QWizard。我还没有找到 Qt 提供的任何允许我这样做的方法,因此我通过覆盖每个页面的registerField方法以及向导的行为来解决此问题addPage

然后我可以结合使用field_set父级的属性来访问所有值。这似乎有点多余,因此没有必要。Qt 中是否有访问完整字段集合的方法?文档中的相关部分没有提及任何内容,但它省略了很多其他细节,所以这不是很能说明问题。QWizardQWizard.field

我的假设是 PyQt4 的功能(如果存在)与 PyQt5 的功能相同。如果不是,我更喜欢 PyQt5 的答案,因为这是我目前正在使用的。

0 投票
4 回答
1311 浏览

qt - 在 Qwizard 上单击完成按钮后打开一个新窗口:Pyqt5

除了退出页面之外,我想让我的 QWizard 上的完成按钮做其他事情。我需要将它连接到调用另一个窗口的函数。换句话说,我需要查看 Qwizard 页面的 Finish Button 并将其添加功能。有谁知道如何做到这一点。谢谢

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

c++ - Qt QWizard validateCurrentPage 未在最后一页调用

我有一个 QWizard,我重写了 validateCurrentPage() 以便在传递到下一页之前执行操作。此功能在所有页面上都运行良好,除了最后一页 - 按下完成的地方。调用了 accept() 函数,但没有调用 validateCurrentPage()。

根据 Qt 文档判断:

当用户单击“下一步”或“完成”以执行最后一分钟的验证时,QWizard 会调用此虚拟函数

这个函数应该像在任何其他页面中一样被调用。

为什么它不起作用?