PYQT Qcombobox设置值选择为一个变量。

问题描述 投票:1回答:2

我有一个combox,想把框中选择的vaue添加到一个变量中。 这个变量。 我从文档中尝试了一些东西,只成功地将其设置为一个Qlabel。 任何帮助,请

     self.languageLbl = QtGui.QLabel("Download_IVR", self)
     comboBox = QtGui.QComboBox(self)
     comboBox.addItem("IVR_ITALY")
     comboBox.addItem("IVR_FRANCE")
     comboBox.addItem("IVR_SPAIN")
     comboBox.addItem("IVR_GERMANY")
     comboBox.move(650, 250)
     comboBox.resize(150,40)
     self.languageLbl.move(650,150)
     comboBox.activated[str].connect(self.languageChoice)

 def download_button(self):

     ivrLang = self.comboBox.currentText()

我想把ivrLang设置为组合框中选择的项目。 谢谢!我有一个combox,想把框中选择的vaue添加到一个变量中。

python pyqt
2个回答
2
投票

你没有把你的信号连接到你的回调函数。 你需要。

self.combobox.activated[str].connect(self.download_button)

和下载按钮应该是这样的。

def download_button(self, text):
    irvLang = text

请注意,你仍然没有做任何事情 与变量。irvLang.

此外,它将是明智的,使你的类的comboBox和属性,使用 self:

self.comboBox = QtGui.QComboBox(self)

EDIT:这里有一个完整的例子,它可以实现您的要求。似乎 要的。

from PyQt4 import QtGui

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.cb = QtGui.QComboBox(self)
        self.cb.addItem("One")
        self.cb.addItem("Two")
        self.cb.activated[str].connect(self.selected)

    def selected(self, text):
        self.selected_text = text
        print(self.selected_text)

app = QtGui.QApplication([])
mw = MainWindow()
mw.show()
app.exec_()

0
投票

最后我将ivrLang设置为Qlabel,所以当QLabel显示时,变量被设置为QLabel的文本。 所以当QLabel被显示时,变量被设置为QLabel的文本。 这样我就可以同时得到Label和变量。 也许这不是最好的方法,但是它很有效。

    def languageChoice(self, text):

        self.languageLbl.setText(text)
    def download_button(self, text):
        directoryUser = self.directory
        ivrNum = self.lblNumber.text()
        username = self.userName.text()

        ivrLang = self.languageLbl.text()
© www.soinside.com 2019 - 2024. All rights reserved.