PyQt QLineEdit 文本选中并使用它的另一个功能

问题描述

我用 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 (将#修改为@)