使用pyqt4和Python2.6,我使用qcombobox来提供选项列表。我在使用所选选项时遇到问题。我已经能够在选择选项时使用信号来触发方法,但问题是,当用户单击run时,需要考虑其中几个组合框的内容。因此,基本上我需要以字符串的形式获取组合框中选定的内容。到目前为止,我只能使用以下代码:
print combobox1.currentText()
要获得以下信息:
PyQt4.QtCore.QString(u'Test Selection2')
当我真正想要的是“测试选择”时,有什么想法吗?我的组合框是这样制作的:
combobox1 = qt.QComboBox()
combobox1.addItems(['Test Selection1', 'Test Selection2'])
mainLayout.addWidget(combobox1, 0, 0)
发布于 2011-05-20 02:09:20
只需使用str
函数,就可以将QString类型转换为python字符串。假设您没有使用任何Unicode字符,您可以获得如下所示的python字符串:
text = str(combobox1.currentText())
如果使用任何unicode字符,则可以执行以下操作:
text = unicode(combobox1.currentText())
发布于 2015-04-14 21:59:08
可以强制PyQt4使用新的API,在该API中,QString将自动与Python对象相互转换:
import sip
sip.setapi('QString', 2)
使用此接口,QtCore.QString
类将不再可用,self.ui.comboBox.currentText()
将返回Python字符串或unicode对象。
请参阅文档中的Selecting Incompatible APIs。
发布于 2012-03-15 00:12:28
在项目更改时获取ComboBox的文本
self.ui.comboBox.activated.connect(self.pass_Net_Adap)
def pass_Net_Adap(self):
print str(self.ui.comboBox.currentText())
https://stackoverflow.com/questions/6061893
复制相似问题