0

我是QT Designer第一次工作。我创建了一个组合框,其中包含 IP 地址值a.b.c.dp.q.r.s. 我使用工具将.ui创建的文件翻译成文件QT Designer,以便它可以在我正在开发的项目中使用。.pypyuic4PythonVisual Studio

现在,当我运行我的Python项目时,表单已正确打开,但是在选择组合框/下拉列表中的任何值时,它不会在顶部显示选定的值,尽管当我看到完整时它显示为选定/突出显示的值再次单击下拉列表。Python代码似乎不包含currentIndexChanged属性。

这是平常的吗?我是否必须手动编写此类基本功能的代码?

我尝试使用下面的代码手动编写它,但这似乎也不起作用:

self.IPAddress_comboBox.currentIndexChanged['QString'].connect(self.handleChanged)

def handleChanged(self, text):
 index= self.IPAddress_comboBox.findText(text,QtCore.Qt.MatchFixedString) 
 if index >=0:
   self.IPAddress_comboBox.setCurrentIndex(index)

选择值为 10.200.25.11 但显示值为 10.200.25.10 的组合框

在这里,我选择了值 10.200.25.11,它显示为突出显示,但当下拉菜单关闭时,它在顶部显示 10.200.25.10。(在 qt 设计器上,预览效果很好)

4

1 回答 1

1

信号参数类型周围不应有引号QString

self.IPAddress_comboBox.currentIndexChanged[QString].connect(self.handleChanged)

我不确定为什么您的组合框没有在顶部显示所选值;该功能对我有用。如果你能提供一个例子,那可能会有所帮助。

于 2017-07-31T18:28:17.020 回答