def treeItemUpdate(self): now = self.currentIndex().data() if now != self.temp: pri = self.currentIndex().parent().data() num = re.findall(r'\[\d+\]', pri) pri = pri.replace(num[0], '') db.DBFunction().treeItemUpdate(pri, self.temp, now)
def on_click(self): if self.pushButton.isChecked(): self.load() path = self.textEdit.toPlainText() df = db.DBFunction() df.new_db(path) self.OK()
def loadData(self): item = self.currentIndex() pr = item.parent().data() table = self.master.table if type(pr) == str: num = re.findall(r'\[\d+\]', pr) if len(num) > 0: pri = pr.replace(num[0], '') t = Table.Table() if pri == '作者': data = db.DBFunction().getAuthorList(item.data()) elif pri == 'tag': data = db.DBFunction().getTagList(item.data()) elif pri == '收藏夹': data = db.DBFunction().getCollectionList(item.data()) t.addItem(table, data)
def on_click(self): if self.pushButton.isChecked(): self.load() data = self.plainTextEdit.toPlainText() try: db.DBFunction().FormatData('update', data) except Exception as e: print(e) self.close()
def on_click(self): if self.pushButton.isChecked(): self.load() path = self.textEdit.toPlainText() try: db.DBFunction().new_db(path) except Exception as e: print(e) self.OK()
def iniTree(self): self.setColumnCount(1) self.setMaximumWidth(500) self.verticalScrollBar() self.setInputMethodHints(QtCore.Qt.ImhNone) self.setHeaderHidden(True) self.clicked.connect(self.loadData) self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.customContextMenuRequested.connect(self.rightMenuShow) self.doubleClicked.connect(self.setTemp) # self.currentItemChanged.connect(self.test) data = db.DBFunction().intStartData() # ROOT_ALL_self all_db = QTreeWidgetItem(self) all_db.setText(0, '全部') all_db.setExpanded(True) all_db.setIcon(0, QIcon('./icon/--.png')) # ROOT_Collection_self collection = QTreeWidgetItem(self) collection.setText(0, '收藏夹[{0}]'.format(str(len(data[2])))) collection.setIcon(0, QIcon('./icon/--.png')) # author author = QTreeWidgetItem() author.setText(0, '作者[{0}]'.format(str(len(data[0])))) all_db.addChild(author) # tag tag = QTreeWidgetItem() tag.setText(0, 'tag[{0}]'.format(str(len(data[1])))) all_db.addChild(tag) # author_child if (len(data[0])) > 0: for i in data[0]: self.createChild(0, i[0], 0, '', author) else: pass # author_tag if (len(data[1])) > 0: for i in data[1]: self.createChild(0, i[0], 0, '', tag) else: pass # author_collection if (len(data[2])) > 0: for i in data[2]: self.createChild(0, i[0], 0, '', collection) else: pass self.itemChanged.connect(self.treeItemUpdate) return self
def __init__(self, parent=None): super(KeyView, self).__init__(parent) # 指定父类为自己 data = db.DBFunction().FormatData('get', 0) self.setObjectName("MainWindow") self.resize(403, 359) self.centralwidget = QtWidgets.QWidget(self) self.centralwidget.setObjectName("centralwidget") self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget) self.horizontalLayout.setObjectName("horizontalLayout") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.plainTextEdit = QtWidgets.QPlainTextEdit(self.centralwidget) self.plainTextEdit.setObjectName("plainTextEdit") self.plainTextEdit.setMinimumSize(380, 300) self.plainTextEdit.setPlainText(data) self.verticalLayout.addWidget(self.plainTextEdit) self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setObjectName("pushButton") self.pushButton.setText('确定') self.pushButton.setCheckable(True) self.pushButton.clicked.connect(self.on_click) self.verticalLayout.addWidget(self.pushButton) self.horizontalLayout.addLayout(self.verticalLayout)
def rename(self, path): # list = ['[雑誌寄せ集め]', '[無邪気無修宇宙分組]', '(同人CG集)', '(成年コミック)', '(ゲームCG)', '(雑誌寄せ集め)', '[DL版]', '[中国翻訳]', # '(マブラヴ オルタードフェイブル)', # '(To Heart 2)', '[CG]', '[HCG]', '[新桥月白日语社]', '[新桥月白日语社×小咪嵌字]', # '(機動戦士ガンダム SEED)', '[真诗君修图]', '[茜新社]', '[Digital]', '[CE家族社]', '[4K掃圖組]', '[火狸翻译]', '(オリジナル)', # '[風與黑暗掃圖]', '[Maho.sub]', '(18禁アニメ)', '(Fate Grand Order)', '(東方Project)', '[罗洁爱儿个人机翻]', '(新世紀エヴァンゲリオン)', # '(ファイナルファンタジーVII)', # '[Chinese]', # '[韓漫]', '(Chinese)', '[MahoXOkazu]', '[Okazu.Sub]', '(快盗天使ツインエンジェル)', '[風的工房]', '(オリジナル)', # '(Fate/Grand Order)', '(グランブルーファンタジー)', # '(アイドルマスター シンデレラガールズ)', '[單行本]', '[ 風的工房]', '(中二病でも恋がしたいっ!)', '(やはり俺の青春ラブコメはまちがっている)', '(クロスアンジュ 天使と竜の輪舞)', # '[水晶海]', '(真 三國無双)', '[天鹅之恋]', '(Fatestay night)', '(ラグナロクオンライン)', '(Fatehollow ataraxia)', '(咲-Saki-)', # '[風與彧製作]', '【CE家族社】', '(魔弾の王と戦姫)', # '(サンクリ2015 WINTER)', '(交響詩篇エウレカセブン)', '(シュタインズ・ゲート)', '(機動戦士ガンダムSEED DESTINY)', '(FateGrandOrder)', # '(オリジナル)', # '[日版弱智嵌字]', '[中国語]', '(Fatestay night)', '[黑暗掃圖]', '[風與萌妳妹與嘘製作]', '(東方Project)', '[栗山同學不高興]', # '(境界の彼方)', # '(とある魔術の禁書目録<インデックス>)', '(あの日見た花の名前を僕達はまだ知らない)', '(ファイナルファンタジーIV)', '[52H里漫画组]', '(インフィニット・ストラトス)', # '(コードギアス 反逆のルルーシュ)', '(ドキドキ!プリキュア)', '(IS<インフィニット・ストラトス>)', '(恋騎士Purely☆Kiss)', '[中國翻訳]', '(中文)', '[魂+工坊]', # '(TERA The Exiled Realm of Arborea)', '(スーパーダンガンロンパ2)', '(ラブライブ! サンシャイン!!)', '[中国翻译]', '[天鵝之戀]', # '(STEINS;GATE)', '(モーレツ宇宙海賊)', '(ノーモア☆ヒーローズ)', '(インフィニット_ストラトス)', '(ドラゴンクエスト V 天空の花嫁)', '(アマガミ)', '(アマガミ)', # '(境界線上のホライゾン)', '(ヱヴァンゲリヲン新劇場版)', '(ラブライブ!)', # '(あの日見た花の名前を僕達はまだ知らない)', '(魔法少女まどか☆マギカ)', '(エヴァンゲリオン)', '[纯爱の隙间娘扫图组]', '[重製]', '[画质修正]', '[神貓在綫]', # '[維納斯中文]', # '[風與Y⑨]', '[公主之假日]', '[小4K掃圖組]', '(中二病でも恋がしたい!)', '[風與彧製作]', '(攻殻機動隊)', '(冴えない彼女の育てかた)', '[ROC_1112出品]', # '[天鵝之戀同人部]', '(ドリームクラブ)', '(ラブプラス)', '(エヴァンゲリオン', '[52H里漫画组]', '(ニセコイ)', # '[風與彧與嘘製作]', '(新世紀エヴァンゲリオン)', '[風與Y⑨製作]', '(Fate staynight)', '(化物語)', '[漫遊中的蟲譯/final改圖]', '(同人誌)', # '【靴下搬运组无聊整理】', '[太阳鸽子重嵌]', '[中文]', '[悠月工房]', '[風與uuz製作]', '[gnapiat扫图]', '[風與數字君製作]', '[黑崎貓改圖]', # '(宇宙戦艦ヤマト2199)', '[sanjiemiejue原创]', '[ROC_1112出品,4K掃圖組]', '[風與sexy哥製作]', '[脸肿X空气系]', '[風與小Q製作]'] data = db.DBFunction().FormatData('get', 0) key = data.split(',') bath_path = path list_name = [] list_path = [] for root, dirs, files in os.walk(bath_path): for name in dirs: list_name.append(name) list_path.append(os.path.join(root, name)) list_name = list_name[::-1] list_path = list_path[::-1] for i in range(len(list_name)): temp = list_name[i] # for j in list: # temp = temp.replace(j, '') for k in key: try: temp = self.process1(temp, k) except TypeError: print(temp) # temp = str(process2(temp)) # temp = str(process3(temp)) # new_path = list_path[i].replace(list_name[i], '') + temp kk = list_path[i].split('\\') temp_path = '' for gg in kk[0:-1]: temp_path += gg + '\\' temp_path = temp_path.strip() temp_path += temp.strip() try: jj = 1 os.rename(list_path[i], temp_path) except FileExistsError: try: os.rename(list_path[i], temp_path + '(' + str(jj) + ')') except FileExistsError: os.rename(list_path[i], temp_path + '(' + str(jj + 1) + ')')
import main_view import sys from PyQt5.QtWidgets import QApplication from function import DB_function as db import os import PyQt5.sip if __name__ == '__main__': path = './mydb.db' if os.path.exists(path): pass else: db.DBFunction().iniDB() app = QApplication(sys.argv) # main = QtWidgets.QMainWindow() # 创建一个主窗体(必须要有一个主窗体) content = main_view.Ui_MainWindow() # 创建对话框 content.setupUi() # 将对话框依附于主窗体 sys.exit(app.exec_())