import sys from PySide2.QtWidgets import QApplication from PySide2.QtWidgets import QMainWindow from PySide2.QtCore import (QCoreApplication, QDate, QDateTime, QMetaObject, QObject, QPoint, QRect, QSize, QTime, QUrl, Qt) from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont, QFontDatabase, QIcon, QKeySequence, QLinearGradient, QPalette, QPainter, QPixmap, QRadialGradient, QStandardItem, QStandardItemModel) from PySide2.QtWidgets import * from mainwindow import Ui_MainWindow from kman import * # import binary resource file(kmanapp_rc.py) import kmanapp_rc class kmanWindow(QMainWindow): """ def __init__(self, *args, **kwargs): super(kmanWindow, self).__init__(*args, **kwargs) """ def __init__(self, parent=None): super(kmanWindow, self).__init__(parent) self.stat_str = 'status information' self.search_str = '' # create ui and initial it ui = Ui_MainWindow() ui.setupUi(self) self.ui = ui self.books = import_clips() # connect action/toolbutton to slot functions ui.actionimportkindle.triggered.connect(lambda: self.import_kindle(self.books)) ui.actionimportlocal.triggered.connect(lambda: self.import_local()) ui.actionconfig.triggered.connect(lambda: self.config()) ui.actionwords.triggered.connect(lambda: self.words()) ui.actionstatistic.triggered.connect(lambda: self.statistic()) ui.actionhomepage.triggered.connect(lambda: self.homepage()) ui.actionabout.triggered.connect(lambda: self.about()) ui.actionflush.triggered.connect(lambda: self.flush()) ui.searchComboBox.currentIndexChanged.connect(self.search_scope_change) ui.searchToolButton.clicked.connect(self.search_button_clicked) ui.treeView.clicked.connect(self.clicked_items) self.add_ui_component() #add_ui_component() ###! can not found this function def add_ui_component(self): self.ui.searchComboBox.addItems(['ALL','bookname','content','author']) #inert test data xxxxxxxx model = QStandardItemModel() rootItem = model.invisibleRootItem() idx = 0 for i in range(4): idx += 1 item = QStandardItem('item {}'.format(idx)) rootItem.appendRow(item) icon = QIcon() icon.addFile(u":/icons/book_open_bookmark.png", QSize(), QIcon.Normal, QIcon.Off) item.setIcon(icon) if i==0: parentItem = item icon = QIcon() icon.addFile(u":/icons/emblem_library.png", QSize(), QIcon.Normal, QIcon.Off) item.setIcon(icon) parentItem.appendRows([QStandardItem('append rows {}'.format(i+idx)) for i in range(5)]) if i==1: parentItem = item for i in range(5): idx += 1 item = QStandardItem('type item {}'.format(i+idx)) #item.setEnabled(False) item.setEditable(False) icon = QIcon() icon.addFile(u":/icons/register.png", QSize(), QIcon.Normal, QIcon.Off) item.setIcon(icon) parentItem.appendRow(item) if i==3: parentItem = item for i in range(5): idx += 1 item = QStandardItem('another item {}'.format(i+idx)) #item.setEnabled(False) item.setEditable(False) icon = QIcon() icon.addFile(u":/icons/book_open.png", QSize(), QIcon.Normal, QIcon.Off) item.setIcon(icon) parentItem.appendRow(item) self.ui.treeView.setModel(model) def clicked_items(self): print( 'call clicked_items()' ) def search_button_clicked(self): print( 'call search_button_clicked()' ) def search_scope_change(self,t): p = {0:'ALL',1:'TITLE',2:'AUTHOR',3:'CONTENT'} s = self.ui.searchLineEdit.text() #print(self.books) #print(search_clip(self.books,s,'ALL',p[t])) print('call search_scope_change()') # define slot functions def import_kindle(self,bks): print("call slot importkindle()") print(bks) pass def import_local(self): print("call slot importlocal()") pass def config(self): print("call slot config()") pass def words(self): print("call slot words()") pass def statistic(self): print("call slot statistic()") pass def homepage(self): print("call slot homepage()") pass def about(self): print("call slot about()") pass def flush(self): print("call slot flush()") pass def messageBox(self, showInfo): box = QMessageBox.about(self, 'Kindle Management', showInfo) if __name__ == "__main__": import sys from PySide2.QtWidgets import QApplication, QLabel app = QApplication(sys.argv) kmw = kmanWindow() kmw.resize(900, 600) kmw.show() app.exec_()