如何在python中读出QLineEdit中的文本?
发布时间:2020-12-30 17:06:13 所属栏目:Python 来源:互联网
导读:我为我的插件创建了一个带有3个按钮的启动GUI.这非常有效,如果我单击其中一个按钮,则会启动特定操作.到目前为止这个工作.如果我点击其中一个按钮,新的GUI有两个按钮“ok”和“cancel”,并出现一条lineedit.如果我按下取消,GUI将被关闭,如果我按下ok,我希望程
|
我为我的插件创建了一个带有3个按钮的启动GUI.这非常有效,如果我单击其中一个按钮,则会启动特定操作.到目前为止这个工作.如果我点击其中一个按钮,新的GUI有两个按钮“ok”和“cancel”,并出现一条lineedit.如果我按下取消,GUI将被关闭,如果我按下ok,我希望程序从editline读取文本并将其存储在变量中.到目前为止,这还没有奏效. 这是包含对话框的类: 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 fr 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小部件中读取文本的部分. 你有什么想法或建议吗? 如果这是一个双重帖子,感谢和抱歉,但我找不到适合我的问题的答案. 解决方法如 documentation中所述,可以使用其方法文本检索QLineEdit的文本.text = dlg.ui.lineEdit.text() 请注意,它是一个QString,而不是常规字符串,但是当您使用“%s”%文本格式化它时,这不应该是一个问题. (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python3 requests中使用ip代理池随机生成ip的实例
- Python ConfigParser检查Section和Key Value的存在
- 如果我在Python 3中将文件截断为零,我是否还需要寻找零位?
- Django没有为记录器“城市”找到处理程序
- Python中实现常量(Const)功能
- python – Django 1.7 makemigrations – ValueError:无法
- 在Python中开发时保护MySQL密码?
- 加速python的struct.unpack
- python – WTForms SelectField没有正确地强制执行布尔值
- Python:如何从1D阵列或列表中获取局部最大值
