【问题标题】:Pyside print text from QLineEdit when button pressed按下按钮时来自 QLineEdit 的 Pyside 打印文本
【发布时间】:2014-03-12 02:09:25
【问题描述】:

我正在尝试这样做,以便当我单击按钮时,文本输入字段会打印到控制台。为什么我不断收到错误消息?我不太确定自己做错了什么。

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()

【问题讨论】:

    标签: python button pyside qlineedit


    【解决方案1】:

    您需要将etProjectName 设为Example 类的属性:

        self.etProjectName = QtGui.QLineEdit('', self)
        self.etProjectName.resize(self.etProjectName.sizeHint())
        self.etProjectName.move(90, 7)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-27
      • 2023-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      相关资源
      最近更新 更多