您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在python中读出QLineEdit中的文本?

5b51 2022/1/14 8:22:49 python 字数 5313 阅读 590 来源 www.jb51.cc/python

我为我的插件创建了一个带有3个按钮的启动GUI.这非常有效,如果我单击其中一个按钮,则会启动特定操作.到目前为止这个工作.如果我点击其中一个按钮,新的GUI有两个按钮“ok”和“cancel”,并出现一条lineedit.如果我按下取消,GUI将被关闭,如果我按下ok,我希望程序从editline读取文本并将其存储在变量中.到目前为止,这还没有奏效. 这是包含对话框的类: from PyQt4.Q

概述

这是包含对话框的类:

from PyQt4.QtCore import pyqtSlot
from PyQt4.QtGui import QDialog,QLineEdit

from ui_grz import Ui_Dialog

class grzDialog(QDialog):

    def __init__(self):
        QDialog.__init__(self)
        # Set up the user interface from Designer.
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)

在使用QT Designer和命令pyuic4创建GUI之后,这是一个包含GUI结构的类:

from PyQt4 import QtCore,QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    _fromUtf8 = lambda s: s

class Ui_Dialog(object):
    def setupUi(self,Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(387,153)
        self.buttonBox = QtGui.QDialogButtonBox(Dialog)
        self.buttonBox.setGeometry(QtCore.QRect(30,110,341,32))
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.label = QtGui.QLabel(Dialog)
        self.label.setGeometry(QtCore.QRect(10,10,361,51))
        self.label.setObjectName(_fromUtf8("label"))
        self.lineEdit = QtGui.QLineEdit(Dialog)
        self.lineEdit.setGeometry(QtCore.QRect(10,60,351,31))
        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))

        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.buttonBox,QtCore.SIGNAL(_fromUtf8("accepted()")),Dialog.accept)
        QtCore.QObject.connect(self.buttonBox,QtCore.SIGNAL(_fromUtf8("rejected()")),Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self,Dialog):
        Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog","GRZ Analyse",None,QtGui.QApplication.UnicodeUTF8))
        self.label.setText(QtGui.QApplication.translate("Dialog","<html><head/><body><p><span style=\" font-weight:600;\">Bitte geben Sie hier den Schwellenwert für die GRZ-Analyse ein:</span></p><p>Bitte achten Sie auf eine korrekte Schreibweise (bspw. 2.5):</p></body></html>",QtGui.QApplication.UnicodeUTF8))

在这个课程中我需要变量:

# Import the PyQt and QGIS libraries
from PyQt4.QtCore import * 
from PyQt4.QtGui import *
from qgis.core import *

# Import the code for the dialog
from ubgrzdialog import grzDialog

class quickAnalysis:

    def __init__(self,iface):
        # Save reference to the QGIS interface
        self.iface = iface

    def grzAnalysis(self):

        dlg = grzDialog()
        dlg.show()
        result = dlg.exec_()
        if result == 1:

            text = dlg.text()
            QMessageBox.information(self.iface.mainWindow(),"test","%s" %(text),QMessageBox.Ok)

这只是该类的一小部分,但这是我有问题如何从LineEdit小部件中读取文本的部分.

你有什么想法或建议吗?

如果这是一个双重帖子,感谢和抱歉,但我找不到适合我的问题的答案.

text = dlg.ui.lineEdit.text()

请注意,它是一个QString,而不是常规字符串,但是当您使用“%s”%文本格式化它时,这不应该是一个问题.

总结

以上是编程之家为你收集整理的如何在python中读出QLineEdit中的文本?全部内容,希望文章能够帮你解决如何在python中读出QLineEdit中的文本?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶