Remove unused imports and clean up code structure across multiple files
This commit is contained in:
45
src/ui/widgets/admin_query.py
Normal file
45
src/ui/widgets/admin_query.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from .widget_sources.admin_query_ui import Ui_Form
|
||||
|
||||
from PyQt6 import QtWidgets, QtCore
|
||||
from src import Icon
|
||||
from src.backend import Database
|
||||
|
||||
|
||||
class AdminQueryWidget(QtWidgets.QWidget, Ui_Form):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setupUi(self)
|
||||
self.setWindowIcon(Icon("db_search").icon)
|
||||
self.db = Database()
|
||||
# Connect the button click to the method
|
||||
self.sendquery.clicked.connect(self.on_pushButton_clicked)
|
||||
|
||||
def on_pushButton_clicked(self):
|
||||
# Handle button click event
|
||||
self.queryResult.setRowCount(0) # Clear previous results
|
||||
request_text = self.sqlquery.toPlainText()
|
||||
if not request_text.strip():
|
||||
return
|
||||
|
||||
data = self.db.query_db(request_text)
|
||||
print(data)
|
||||
table_names = (
|
||||
request_text.lower().split("select")[1].split("from")[0].split(",")
|
||||
)
|
||||
table_names = [name.strip() for name in table_names]
|
||||
# reset the horizontal header labels
|
||||
self.queryResult.setHorizontalHeaderLabels(table_names)
|
||||
for result in data:
|
||||
row_position = self.queryResult.rowCount()
|
||||
self.queryResult.insertRow(row_position)
|
||||
for column, value in enumerate(result):
|
||||
item = QtWidgets.QTableWidgetItem(str(value))
|
||||
item.setFlags(item.flags() & ~QtCore.Qt.ItemFlag.ItemIsEditable)
|
||||
self.queryResult.setItem(row_position, column, item)
|
||||
|
||||
|
||||
def launch():
|
||||
app = QtWidgets.QApplication([])
|
||||
widget = AdminQueryWidget()
|
||||
widget.show()
|
||||
app.exec()
|
||||
Reference in New Issue
Block a user