问题标签 [qcombobox]

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

signals - 重载的 pyside 信号 (QComboBox)

使用 QComboBox 和 pyside,我知道如何连接信号并使用它发送的索引。但是 unicode 参数呢?如果我更喜欢连接到想要组合框中的字符串的东西,这可能吗?

来自: http: //www.pyside.org/docs/pyside/PySide/QtGui/QComboBox.html#PySide.QtGui.QComboBox

所有三个信号都存在于两个版本中,一个带有 PySide.QtCore.QString 参数,一个带有 int 参数。

信号

PySide.QtGui.QComboBox.activated(index) 参数: index – PySide.QtCore.int

PySide.QtGui.QComboBox.activated(arg_ 1) 参数:arg _1 – unicode

编辑:一些代码。

这段代码给了我索引。问题是如何获取文档中提到的 unicode 字符串。

0 投票
1 回答
415 浏览

qt - 使用滑块连接组合框

我正在尝试将 qcombobox 与 qwtslider 连接,并且我在组合框上有两个选项,毫米和像素。当我选择该选项时,我想将比例更改为像素或毫米。我创建了一些函数作为插槽工作,它们是:

我想我可以使用来自连接盒的信号连接它们。我的连接框是这样的:

他们创建了一个可供选择的插槽:

他们像这样连接它:

但我收到这样的错误,我不确定我做错了什么:

0 投票
1 回答
2801 浏览

pyqt - PyQT QWizard - QComboBox 的 userData 上的 registerField 而不是文本或索引?

我正在创建一个 QWizard 并想要一个代表文件的组合框。组合框将显示文件名,但我需要整个路径,所以我将路径存储在组合框的 userData 中。为了访问另一个向导页面中的组合框数据,我使用了 registerField。组合框没有 currentData 方法,就像它有 currentIndex 或 currentText 一样,所以我创建了自己的组合框,它有一个 currentData 方法(在我的例子中,我总是返回一个 QString,所以我称之为 currentStringData)。当我将此新函数名称作为“属性”参数传递给 registerField 时,我没有得到任何结果。

谷歌搜索,我在 QtCentre 上遇到了其他人的问题——他们有同样的问题,但它是用 C++ 编写的,我很难从 C++ 示例转换为 python。http://www.qtcentre.org/threads/13858-QWizard-QComboBox-and-registerField()-issue。我相信我的派生类缺少一个发射,但我不确定是否是这种情况或如何做到这一点。

任何人都知道如何在 Python 中做到这一点?

我创建了一个非常简单的 python 脚本来演示我的问题。

在此示例中,我希望第二页上的第一个标签是“原始路径是'/path/to/foo'”或“原始路径是'/path/to/bar'”,具体取决于哪个组合框项在第 1 页上被选中。我希望第二个标签是一个错误,因为 currentStringData 应该已经返回一个 QString。

相反,我得到“ raw path is '<PyQt5.QtCore.QVariant object....>'”和“ string path is ''”。

0 投票
1 回答
443 浏览

drag-and-drop - PyQt4:使用 QComboBox 拖放时项目消失

我想使用拖放来重新排列 QComboBox 中的项目。我试过这个:

但是,将一个项目拖动到另一个项目的顶部会删除拖动的项目——我希望将该项目移动到放置位置的上方/下方。我做错了吗?

0 投票
3 回答
10467 浏览

qt - QComboBox AbstractItemView::item

有没有办法可以增加 QComboBox 控件中列出的项目的高度?

我尝试按照QTDevNet 论坛中的建议进行操作,但没有运气

我也试过这个,仍然没有结果。

是否有可能在样式表级别实现这一点?

0 投票
1 回答
2212 浏览

c++ - QComboBox 不调用委托方法

我想通过模型委托QComboBox插入QWidgets(而不是字符串)来自定义 a :

FeatureModel 继承自 QAbstractListModel,ComboBoxItemDelegate 继承自 QStyledItemDelegate。

问题是从未调用过委托方法,因此没有插入我的自定义小部件(我只看到 的字符串FeatureModel)。但是,如果我使用 aQTableView而不是 a QComboBox,它可以正常工作。

有人知道错误在哪里吗?我错过了 QT模型/视图概念的一些重要方面吗?

编辑: 这是我的代表。除了构造函数(当然),没有调用以下方法(控制台上没有输出)。

0 投票
1 回答
1784 浏览

python - 如何在 QTableView 内的 QComboBox 中添加项目

我在 QComboBox 中添加项目时遇到问题。如果可能的话,谁能告诉我如何使用下面的代码添加项目?

这是我现在的输出,但我想在我的组合框中添加某些项目。

输出

0 投票
1 回答
3127 浏览

python - PyQT4 Combobox 改变另一个组合框的列表

我刚开始使用 pyqt4 并坚持如何从另一个组合框更改组合框列表。是否有某种类型的示例显示如何使用此方法。

我是否使用 if, else 语句来更改 combobox_2 的选项?

前任。

Combobox_1 有一个 1,2,3 的列表。Combobox_2 具有 a,b,c 或 d,e,f 或 g,h,i 的列表。

如果在 Combobox_1 中选择 1,则 Combobox_2 将显示 a、b、c。

如果在 Combobox_1 中选择 2,Combobox_2 将显示 d,e,f。

如果在 Combobox_1 中选择 3,Combobox_2 将显示 g,h,i。

谢谢

0 投票
1 回答
5057 浏览

python - PyQt:自定义 QAbstractListModel 数据更改时如何更改 QComboBox 中的 currentIndex

我已经阅读了一些关于如何为QComboBox小部件定义自定义模型的示例。

这是我定义模型的方式:

我将模型设置为我的QComboBox

我以这种方式将模型添加到我的列表中:

该项目已正确添加,我可以在组合框中看到它,但我想将 currentIndex 更改为新项目的索引。

我想QAbstractListModel可能会引发某种QComboBox可以收听的事件,但我还没有找到如何做到这一点。

我的问题是:

  1. 如何通知QComboBox模型数据已更改,并监听该事件以相应地修改 currentIndex?
  2. 我使用[begin|end]ResetModel是因为我的条目应该是一个有序的整数序列。因此,一旦列表中间的项目被删除,我需要完全重建数据列表。我不知道这是否是正确的方法。有更好的解决方案吗?
0 投票
1 回答
344 浏览

qt - qt组合框滚动条行为

有什么办法可以改变 qcombobox 内滚动条的行为吗?行为是:滚动条的位置对应于数据集中记录的指针位置。在更改滚动条的位置时,会在组合框中添加和删除记录。因此可以浏览数据集(约 1000000 条记录),但无需将所有记录添加到组合框中(1000 条记录后速度非常慢)。