【发布时间】:2019-09-19 23:54:49
【问题描述】:
我有以下代码,在通过 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_()
【问题讨论】:
标签: python pyqt pyqt5 qcombobox