我用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,但它没有工作,我可能是我这边的错误,但我怀疑它
目前没有回答
相关问题 更多 >
编程相关推荐