Pyside按下按钮时从QLineEdit打印文本
我想要实现的是,当我点击按钮的时候,文本输入框里的内容能打印到控制台。但是我总是遇到错误,搞不清楚哪里出了问题。
import sys
import os
from PySide import QtGui
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
self.setToolTip('This is a <b>QWidget</b> widget')
# EditText Field
labelProjectName = QtGui.QLabel('Project Name:', self)
labelProjectName.move(15, 10)
etProjectName = QtGui.QLineEdit('', self)
etProjectName.resize(etProjectName.sizeHint())
etProjectName.move(90, 7)
# Button UI
btn = QtGui.QPushButton('Create Folder', self)
btn.setToolTip('This creates the folders.')
btn.resize(btn.sizeHint())
btn.move(5, 30)
btn.clicked.connect(self.generateFolders)
self.resize(250, 150)
self.center()
self.setWindowTitle('Folder Utility')
self.show()
def center(self):
qr = self.frameGeometry()
cp = QtGui.QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
def generateFolders(self):
var = self.etProjectName.text()
print var
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
1 个回答
1
你需要把 etProjectName
变成你 Example
类的一个属性:
self.etProjectName = QtGui.QLineEdit('', self)
self.etProjectName.resize(self.etProjectName.sizeHint())
self.etProjectName.move(90, 7)