Если код, который вы реализуете во время выполнения, является тем, который, я думаю, вы злоупотребляете потоками, так как с сигналом currentTextChanged
этого будет достаточно, как я покажу ниже:
class Window(QtGui.QMainWindow, GUI.Home):
def __init__(self,parent = None):
super(Window,self).__init__(parent)
self.setupUi(self)
self.gui_Name.currentTextChanged.connect(self.onCurrentTextChanged)
def onCurrentTextChanged(self, text):
if if name == 'Cristina':
country = 'Italy'
else:
country = 'Other'
self.Country.setText(str(country))
Нас другой стороны, если реальный код является трудоемкой задачей, то использование потоков является адекватным.Если задача принимает в качестве ссылки значение QComboBox
в момент нажатия кнопки, то оно устанавливает это значение как свойство потока, в вашем случае вы создаете новый графический интерфейс в другом потоке вместо использования существующего графического интерфейса:
class MyThread(QtCore.QThread):
updated = QtCore.pyqtSignal(str)
def run(self):
name = self.currentText
print(name)
if name == 'Cristina':
country = 'Italy'
else:
country = 'Other'
self.updated.emit(country)
class Window(QtGui.QMainWindow, GUI.Home):
def __init__(self,parent = None):
super(Window,self).__init__(parent)
self.setupUi(self)
self._thread = MyThread(self)
self._thread.updated.connect(self.Country.setText)
self.pushButton.clicked.connect(self.start_thread)
def start_thread(self):
self._thread.currentText = self.gui_Name.currentText()
self._thread.start()