【发布时间】:2016-10-31 01:40:18
【问题描述】:
我是 PySide 的新手,我正在尝试让用户输入一些文本。然后我想将它存储在一个变量中,并通过我拥有的单独脚本在搜索中使用它。我拥有的搜索脚本通过一个文本文件进行解析,以查找用户输入的关键字。首先,我试图将输入文本存储在一个变量中,并且我正在测试它是否使用简单的打印语句存储。
正如您将在下面看到的,我已对其进行了设置,以便弹出一个输入框并让用户输入一些文本。但是,如果我在showDialog 之外调用打印,则不会打印任何内容。如果我在showDialog 内打印,它工作正常。为什么不在函数外打印?
如果有更好的方法,请随时教育我。
import sys
from PySide import QtGui
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.btn = QtGui.QPushButton('test', self)
self.btn.move(20, 20)
self.btn.clicked.connect(self.showDialog)
self.setGeometry(300, 300, 290, 150)
self.setWindowTitle('Input dialog')
self.show()
start = ''
end = ''
number = ''
def showDialog(self):
global start
start = start, ok = QtGui.QInputDialog.getText(self, 'text',
'Enter some text')
global end
end = end, ok = QtGui.QInputDialog.getText(self, "text",
"Enter some text")
global number
number = number, ok = QtGui.QInputDialog.getText(self, "text",
"Enter some text")
# I'm trying to print out the text stored from the input variables.
print start
print end
print number
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
【问题讨论】:
标签: python-2.7 global-variables pyside