将从其他窗口中的LineEdit.text()获取的文本转换为对象?

2024-09-30 10:29:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我用lineEdit.text()从另一个窗口获取了这个文本,事情是,当这个文本被传递到这个窗口之后,它不是一个对象,我需要把这个文本变成一个对象来运行这个函数,这个函数通过sqlite打印出这个文本的数据。我希望有人能帮我,因为我现在很无知

这是我在窗口中获取文本的代码

from PyQt5 import QtCore, QtGui, QtWidgets
from WordWindow import Ui_WordWindow

class Ui_MainWindow(object):

     def setupUi(self, MainWindow):        
        MainWindow.resize(812, 617)

        self.horizontalLayout = QtWidgets.QHBoxLayout()               

        self.centralwidget = QtWidgets.QWidget(MainWindow)        

        self.lineEdit1 = QtWidgets.QLineEdit(self.centralwidget)       
        self.horizontalLayout.addWidget(self.lineEdit1)

        self.pushButton = QtWidgets.QPushButton(self.centralwidget)        
        self.pushButton.clicked.connect(self.openwindow)
        self.horizontalLayout.addWidget(self.pushButton)

     def openwindow(self):
        self.window = QtWidgets.QMainWindow()
        self.receiver = self.lineEdit1.text()
        self.ui = Ui_WordWindow(self.receiver)
        self.ui.setupUi(self.window)
        self.window.show()

下面是窗口的代码,我想把我得到的文本传递到其中

import sqlite3
from PyQt5 import QtCore, QtGui, QtWidgets

conn = sqlite3.connect('database.db')
cursor = conn.cursor()

class Ui_WordWindow(object):

    def __init__(self, receiver):  #Obtaining text from MainWindow
        self.receiver = receiver
        print (self.receiver)      #Testing if it worked or not

    def read_From_db(self):  # Get the data of text obtained

        cursor.execute(('SELECT * FROM mytable WHERE Mean = ?', self.receiver)) 
        data = cursor.fetchall()
        print(data)

window2 = Ui_WordWindow(receiver)  #This doesnt work because receiver isnt an object/ receiver is not defined
window2.read_From_db()
cursor.close()
conn.close

编辑:我试着使用getattr,但它没有工作,我可能是我这边的错误,但我怀疑它


Tags: textfrom文本importselfuiobjectdef

热门问题