亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示來自 sqlite 的 BLOB 數據 On Pyqt5 DESIGN

顯示來自 sqlite 的 BLOB 數據 On Pyqt5 DESIGN

拉風的咖菲貓 2022-08-31 16:14:48
我有數據庫包括名為(IMG)的BLOB列,當按代碼搜索時,我需要什么,顯示項目圖像,但結果總是像這樣(caV\xd6\xf7\xd0\xec]c\x1b\x95\xe2\xa4\x00\xe3\xd3\x82L\xc9L\xa2W8H\xaf\xe4\xe0\x9f\xcb\x7f\xb5\xbautm]\x94\'\xb6\xb7p\xa7{\xbffU\xb7Q\xd5\x8d\xe3\xe1\xb....等)import ioimport base64from PyQt5 import QtGuifrom ui import Ui_MainWindowfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *import astimport sqlite3import sysclass HmcProject ( QMainWindow, Ui_MainWindow ):  # ,FORM_CLASS    def __init__(self):        QMainWindow.__init__ ( self )        super ( HmcProject, self ).__init__ ()        self.setupUi ( self )        self.Handle_Buttons ()        self.Db_Connect ()        self.Image_Retrive()    def Db_Connect(self):        self.connection = sqlite3.connect ( 'deals_db.db' )        cursor = self.connection.cursor ()    def Handle_Buttons(self):        self.pushButton.clicked.connect(self.Image_Retrive)    def Image_Retrive(self):        try:            cursor = self.connection.cursor ()            itemsearch = self.lineEdit_Item_NameS_3.text ()            sql = ('''            SELECT IMG  FROM deals_data             WHERE ITEM_CODE= ?            ''')            cursor.execute ( sql,[(itemsearch)])            data = cursor.fetchone ()            print ( data [0])            pix= QPixmap.loadFromData(data[0])            self.label.setPixmap(pix)        except:            passdef main():    app = QApplication ( sys.argv )    window = HmcProject ()    window.show ()    app.exec_ ()if __name__ == '__main__':    main ()
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

您正在嘗試使用 loadFromData() 作為靜態函數來加載 pixmap,但事實并非如此。
此外,該函數返回 一個 ,報告加載是否成功。bool

您必須首先創建一個新的 QPixmap 實例,然后加載數據,如果已加載,則最后在標簽中顯示它:

    pix = QPixmap() 
       if pix.loadFromData(data[0]):
        self.label.setPixmap(pix)

PS:避免在括號周圍使用空格字符,它們是不必要的和分散注意力的;另外,不要混淆和混合基類上的調用,在python3中,調用super().__init__()一次就足夠了,即使對于多個繼承類也是如此。


查看完整回答
反對 回復 2022-08-31
  • 1 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號