У меня есть следующий код, и после просеивания ответов в StackOverflow мне не удается адаптировать их к моему (очень простому) коду.
Это создает окно с двумя раскрывающимися списками (один выбирает месяц, а другой - год) и кнопкой для запуска остальной части сценария.
Мне нужно сохранить «выделение» поля со списком в глобальной переменной для использования в оставшейся части скрипта.
Я не уверен, является ли это наиболее элегантно написанным или даже лучшим способом сделать это.
Я не уверен, нужно ли мне это инкапсулировать в каком-то классе, но мне пока не повезло. Код ниже в настоящее время просто возвращает начальный текст, а не выбранный пользователем текст в раскрывающемся списке.
def runapp():
def on_button_clicked():
startprocessing()
app = QApplication([])
app.setStyle('Fusion')
window = QWidget()
layout = QVBoxLayout()
combobox_month = QComboBox()
combobox_year = QComboBox()
progress = QLabel('Test')
layout.addWidget(progress)
layout.addWidget(combobox_month)
layout.addWidget(combobox_year)
combobox_month.addItems(calendar.month_name)
combobox_year.addItems(['2017', '2018', '2019'])
processbutton = QPushButton('Process')
layout.addWidget(processbutton)
global month
month = str(combobox_month.currentText())
global year
year = str(combobox_year.currentText())
processbutton.clicked.connect(on_button_clicked)
window.setLayout(layout)
window.show()
app.exec_()