0
如何在QtSql.QSqlDatabase中定義自定義函數?用PyQt4和Sqlite3自定義函數
在純python(python - sqlite3)中,它看起來很容易,但我不知道如何在PyQt中完成它。
如何在QtSql.QSqlDatabase中定義自定義函數?用PyQt4和Sqlite3自定義函數
在純python(python - sqlite3)中,它看起來很容易,但我不知道如何在PyQt中完成它。
我的第一個問題是關於註冊函數regexp來過濾QSqlTableModel中的數據。 我不知道是否有可能註冊我們自己的函數,就像在普通的python sqlite3中一樣,但無論如何要解決我的問題,我使用QS方式使用QSortFilterProxyModel。
最後,我們有:
視圖 - >代理 - >模型
tbl = self.tableViewPlaylist
proxy = self.mediasModelProxy
proxy.setSourceModel(self.mediasModel)
proxy.setFilterCaseSensitivity(Qt.CaseInsensitive)
proxy.setFilterKeyColumn(-1)
tbl.setModel(self.mediasModelProxy)
def update_filter(self):
log.info('Updating Filter')
tokens = str(self.lineEditFilter.text()).split()
if len(tokens) <= 0:
self.mediasModelProxy.setFilterRegExp(QRegExp(''))
return
nq = '|'.join(tokens)
rx = QRegExp("(%s)" % nq, Qt.CaseInsensitive)
self.mediasModelProxy.setFilterRegExp(rx)
return