问题描述
我用 Pyqt5 制作了一个 GUI,我有 QLineEdit 可以从数据库中搜索数据,我想在另一个数据库中搜索 QlineEdit 的结果。有人可以帮我吗?
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication,QDialog,QTabWidget,QComboBox,QCheckBox,qgroupbox,QVBoxLayout,QWidget,QLabel,QLineEdit,QDialogButtonBox
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5 import QtCore
import sqlite3
import pandas as pd
from PyQt5.Qtsql import QsqlQuery,QsqlDatabase
class Tab(QWidget):
def __init__(self):
super().__init__()
self.setwindowTitle("PyQt5 TabWidget Example")
self.setGeometry(200,100,1000,620)
self.setStyleSheet('background-color: rgb(75,75,75)')
vBox = QVBoxLayout()
vBox.setContentsMargins(0,0)
vBox.setSpacing(20)
tabWidget = QTabWidget()
tabWidget.setStyleSheet('border-color: rgb(75,75)')
tabWidget.setContentsMargins(0,0)
tabWidget.setFont(QtGui.QFont('B nazanin',12,QtGui.QFont.Bold))
tabWidget.setDocumentMode(True)
tabWidget.setTabPosition(QTabWidget.north)
tabWidget.TabShape(QTabWidget.Rounded)
tabWidget.setMovable(False)
tabWidget.addTab(TabContact(),"دانلود اطلاعات")
tabWidget.addTab(TabPeronsalDetails(),"نمودار تحلیلی")
vBox.addWidget(tabWidget)
# vBox.addWidget(buttonBox)
self.setLayout(vBox)
class TabContact(QWidget):
def __init__(self):
super().__init__()
vBox_1=QVBoxLayout()
frame_main=qframe()
lbl_test=QLabel(frame_main,text='نماد')
lbl_test.setStyleSheet('color: white')
lbl_test.setFont(QtGui.QFont('B nazanin',QtGui.QFont.Bold))
self.sqltablename()
names = self.df_ticker_name['ticker_name']
completer = QCompleter(names)
self.entry_ticker=QLineEdit(frame_main)
self.entry_ticker.setStyleSheet('background: white')
self.entry_ticker.move(50,3)
self.entry_ticker.setCompleter(completer)
btn_search_ticker=QPushButton(frame_main )
btn_search_ticker.setStyleSheet('color: white')
btn_search_ticker.setFont(QtGui.QFont('B nazanin',QtGui.QFont.Bold))
btn_search_ticker.move(200,3)
self.lbl_test1 = QLabel(frame_main)
self.lbl_test1.setStyleSheet('color: white')
self.lbl_test1.setFont(QtGui.QFont('B nazanin',QtGui.QFont.Bold))
self.lbl_test1.move(400,10)
# btn_search_ticker.clicked.connect(self.onChanged)
self.entry_ticker.textChanged.connect(self.onChanged)
vBox_1.addWidget(frame_main)
self.setLayout(vBox_1)
def sqltablename(self):
self.con = sqlite3.connect('I:/AI-Pytse/3-designPart1/DB/SymbolData.db')
self.c = self.con.cursor()
self.df_ticker_name = pd.read_sql_query("SELECT * FROM SymbolData",self.con)
return self.df_ticker_name
def sql_ticker(self):
self.con = sqlite3.connect('I:/AI-Pytse/1-download - create database/ticker.db')
self.c = self.con.cursor()
d = ''
self.df = pd.read_sql_query("SELECT * FROM {} ;".format(d),self.con)
def onChanged(self,text):
self.lbl_test1.setText(text)
class TabPeronsalDetails(QWidget):
def __init__(self):
super().__init__()
pass
if __name__ == "__main__":
app = QApplication(sys.argv)
tabdialog = Tab()
tabdialog.show()
app.exec()
我的挑战是在 qlineedit 中保存数据并在 def sql_ticker 中将其用作参数 (d)。 当你我尝试信号、插槽和所有东西时,它会出错 最好的问候
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)