मैंने अपनी प्लगइन के लिए 3 बटन के साथ एक प्रारंभ जीयूआई बनाया है। यह बहुत अच्छा काम करता है और यदि मैं बटनों में से किसी एक पर क्लिक करता हूं तो एक विशिष्ट क्रिया शुरू हो जाती है। अब तक यह काम करता है। यदि मैं बटनों में से एक पर क्लिक करता हूं तो दो बटन "ठीक" और "रद्द करें" के साथ एक नया जीयूआई और एक लाइनेडिट दिखाई देता है। अगर मैं रद्द करने पर जोर देता हूं तो जीयूआई बंद हो जाएगा, अगर मैं ठीक से दबाता हूं, तो मैं चाहता हूं कि प्रोग्राम संपादन से टेक्स्ट को पढ़े और इसे एक चर में संग्रहीत करे। यह अब तक काम नहीं करता है।पायथन में QLineEdit से पाठ को कैसे पढ़ा जाए?
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>", None, QtGui.QApplication.UnicodeUTF8))
और:
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)
इस वर्ग कि क्यूटी डिजाइनर के साथ जीयूआई और कमांड pyuic4 बनाने के बाद जीयूआई की संरचना contians है:
यहाँ संवाद युक्त वर्ग है इस कक्षा में मुझे चर की आवश्यकता है:
# 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 विजेट से पाठ को कैसे पढ़ा जाए।
क्या आपके पास कोई विचार या सुझाव हैं?
धन्यवाद और खेद है कि यह एक डबल पोस्ट है, लेकिन मुझे मेरी समस्या के लिए उचित उत्तर नहीं मिला है।
यह काम करता है। धन्यवाद! – Sven