我嘗試從提供給 SQLite 的 LineEdit 文本中獲取資料,但出現以下錯誤,并且出現 SQLite 自動獲取“”文本的 1 個問題,盡管 GUI 沒有出現讓我輸入 EditLine
QSocketNotifier: Can only be used with threads started with QThread
[('', '', 'Male', '<built-in method text of QLineEdit object at 0x7fc496171040>')]
Traceback (most recent call last):
File "/home/baoduy/Desktop/GUI/run.py", line 35, in <module>
main_win = UI()
File "/home/baoduy/Desktop/GUI/run.py", line 16, in __init__
self.Dktt = Dangkithongtin()
File "/home/baoduy/Desktop/GUI/Dangkithongtin.py", line 29, in __init__
self.btnDangkithongtin.clicked.connect(self.INSERT_NOIDUNG(ID,Name,Gender,Birthday))
TypeError: argument 1 has unexpected type 'NoneType'
from PyQt5 import uic
from Dktt import Ui_dkttWindow
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidgetItem
from classdb import *
from PyQt5.QtCore import QDate, QTime, QDateTime, Qt
mydb = MY_DB()
class Dangkithongtin(QMainWindow):
global mydb
def __init__(self):
super().__init__()
uic.loadUi("Dktt.ui",self)
self.tableDulieu.setColumnWidth(0,70)
self.tableDulieu.setColumnWidth(1,200)
self.tableDulieu.setColumnWidth(2,120)
self.tableDulieu.setColumnWidth(3,180)
mydb.connect2()
#mydb.create_table1()
ID = self.txtbID.text()
Name = self.txtbName.text()
Gender = str(self.combGender.currentText())
Birthday = self.txtbBirthday.text
self.btnDangkithongtin.clicked.connect(self.INSERT_NOIDUNG(ID,Name,Gender,Birthday))
#self.btnDangkithongtin.clicked.connect(self.INSERT_NOIDUNG("3","4","5","6"))
#self.btnChinhsua.clicked.connect(self.Chinhsuadangki(Name,ID,Gender,Birthday))
def SHOWDB(self):
self.result = mydb.select_all()
print(self.result)
#show ?nh : truy?n d? li?u t? sql vào GUI b?ng hàm setItem
self.tableDulieu.setRowCount(0) #b?t ??u Row là dòng 0
for row_num,row_data in enumerate(self.result):
self.tableDulieu.insertRow(row_num) # thêm vào dòng m?i
for col_num, col_data in enumerate(row_data):
self.tableDulieu.setItem(row_num,col_num,QTableWidgetItem(str(col_data)))
# truy?n vào stt c?t và stt hàng , và d? li?u QTableWidgetItem(str(col_data) d??i d?ng str
def INSERT_NOIDUNG(self,ID,Name,Gender,Birthday):
#mydb.insert_row_data("{ID}".format(ID=ID),"{Name}".format(Name=Name),"{Gender}".format,"{Birthday}",format(Birthday=Birthday))
mydb.insert_row_data(f"{ID}",f"{Name}",f"{Gender}",f"{Birthday}")
self.SHOWDB()
uj5u.com熱心網友回復:
to 的引數connect()應該是要呼叫的函式,而不是對該函式的呼叫。用來lambda打電話self.INSERT_NOIDUNG()
self.btnDangkithongtin.clicked.connect(lambda: self.INSERT_NOIDUNG(ID,Name,Gender,Birthday))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/506289.html
