├── caipiao
├── caipiao.py
└── caipiao.ui
└── gui_tool_with_pyside6
├── .gitignore
├── 1.jpg
├── 2.jpg
├── 2.png
├── 3.jpg
├── 4.jpg
├── 5.jpg
├── LICENSE
├── README.md
├── build
└── main
│ ├── Analysis-00.toc
│ ├── COLLECT-00.toc
│ ├── EXE-00.toc
│ ├── PKG-00.toc
│ ├── PYZ-00.pyz
│ ├── PYZ-00.toc
│ ├── base_library.zip
│ ├── localpycs
│ ├── pyimod01_archive.pyc
│ ├── pyimod02_importers.pyc
│ ├── pyimod03_ctypes.pyc
│ ├── pyimod04_pywin32.pyc
│ └── struct.pyc
│ ├── main.exe
│ ├── main.exe.manifest
│ ├── main.pkg
│ ├── warn-main.txt
│ └── xref-main.html
├── computer_info.csv
├── demo.py
├── dist
├── computer_info.csv
├── main.exe
└── themes
│ ├── py_dracula_dark.qss
│ └── py_dracula_light.qss
├── icon.ico
├── images
├── icons
│ ├── cil-3d.png
│ ├── cil-4k.png
│ ├── cil-account-logout.png
│ ├── cil-action-redo.png
│ ├── cil-action-undo.png
│ ├── cil-airplane-mode-off.png
│ ├── cil-airplane-mode.png
│ ├── cil-alarm.png
│ ├── cil-align-center.png
│ ├── cil-align-left.png
│ ├── cil-align-right.png
│ ├── cil-arrow-bottom-2.png
│ ├── cil-arrow-bottom.png
│ ├── cil-arrow-circle-bottom.png
│ ├── cil-arrow-circle-left.png
│ ├── cil-arrow-circle-right.png
│ ├── cil-arrow-circle-top.png
│ ├── cil-arrow-left.png
│ ├── cil-arrow-right.png
│ ├── cil-arrow-top.png
│ ├── cil-at.png
│ ├── cil-av-timer.png
│ ├── cil-ban.png
│ ├── cil-battery-0.png
│ ├── cil-battery-3.png
│ ├── cil-battery-5.png
│ ├── cil-battery-alert.png
│ ├── cil-battery-slash.png
│ ├── cil-bell.png
│ ├── cil-bluetooth.png
│ ├── cil-briefcase.png
│ ├── cil-browser.png
│ ├── cil-calendar-check.png
│ ├── cil-camera-roll.png
│ ├── cil-camera.png
│ ├── cil-caret-bottom.png
│ ├── cil-caret-left.png
│ ├── cil-caret-right.png
│ ├── cil-caret-top.png
│ ├── cil-cart.png
│ ├── cil-cast.png
│ ├── cil-chart-line.png
│ ├── cil-chart-pie.png
│ ├── cil-chart.png
│ ├── cil-chat-bubble.png
│ ├── cil-check-alt.png
│ ├── cil-check-circle.png
│ ├── cil-check.png
│ ├── cil-chevron-bottom.png
│ ├── cil-chevron-circle-down-alt.png
│ ├── cil-chevron-circle-left-alt.png
│ ├── cil-chevron-circle-right-alt.png
│ ├── cil-chevron-circle-up-alt.png
│ ├── cil-chevron-double-down.png
│ ├── cil-chevron-double-left.png
│ ├── cil-chevron-double-right.png
│ ├── cil-chevron-double-up-alt.png
│ ├── cil-chevron-double-up.png
│ ├── cil-chevron-left.png
│ ├── cil-chevron-right.png
│ ├── cil-chevron-top.png
│ ├── cil-circle.png
│ ├── cil-clipboard.png
│ ├── cil-clock.png
│ ├── cil-clone.png
│ ├── cil-closed-captioning.png
│ ├── cil-cloud-download.png
│ ├── cil-cloud-upload.png
│ ├── cil-cloudy.png
│ ├── cil-code.png
│ ├── cil-coffee.png
│ ├── cil-comment-bubble.png
│ ├── cil-comment-square.png
│ ├── cil-credit-card.png
│ ├── cil-cursor-move.png
│ ├── cil-cursor.png
│ ├── cil-cut.png
│ ├── cil-data-transfer-down.png
│ ├── cil-data-transfer-up.png
│ ├── cil-deaf.png
│ ├── cil-description.png
│ ├── cil-devices.png
│ ├── cil-dialpad.png
│ ├── cil-dog.png
│ ├── cil-door.png
│ ├── cil-double-quote-sans-left.png
│ ├── cil-double-quote-sans-right.png
│ ├── cil-drop.png
│ ├── cil-envelope-change.png
│ ├── cil-envelope-closed.png
│ ├── cil-envelope-letter.png
│ ├── cil-envelope-open.png
│ ├── cil-equalizer.png
│ ├── cil-ethernet.png
│ ├── cil-exit-to-app.png
│ ├── cil-expand-down.png
│ ├── cil-expand-left.png
│ ├── cil-expand-right.png
│ ├── cil-expand-up.png
│ ├── cil-exposure.png
│ ├── cil-external-link.png
│ ├── cil-face-dead.png
│ ├── cil-featured-playlist.png
│ ├── cil-file.png
│ ├── cil-find-in-page.png
│ ├── cil-fingerprint.png
│ ├── cil-fire.png
│ ├── cil-flip-to-back.png
│ ├── cil-folder-open.png
│ ├── cil-folder.png
│ ├── cil-frown.png
│ ├── cil-gamepad.png
│ ├── cil-hand-point-down.png
│ ├── cil-hand-point-left.png
│ ├── cil-hand-point-right.png
│ ├── cil-hand-point-up.png
│ ├── cil-hd.png
│ ├── cil-hdr.png
│ ├── cil-headphones.png
│ ├── cil-heart.png
│ ├── cil-highligt.png
│ ├── cil-history.png
│ ├── cil-home.png
│ ├── cil-house.png
│ ├── cil-image-plus.png
│ ├── cil-image1.png
│ ├── cil-infinity.png
│ ├── cil-input-power.png
│ ├── cil-input.png
│ ├── cil-justify-center.png
│ ├── cil-justify-left.png
│ ├── cil-justify-right.png
│ ├── cil-keyboard.png
│ ├── cil-laptop.png
│ ├── cil-layers.png
│ ├── cil-level-down.png
│ ├── cil-level-up.png
│ ├── cil-library-add.png
│ ├── cil-library.png
│ ├── cil-lightbulb.png
│ ├── cil-link-alt.png
│ ├── cil-link-broken.png
│ ├── cil-link.png
│ ├── cil-location-pin.png
│ ├── cil-lock-locked.png
│ ├── cil-lock-unlocked.png
│ ├── cil-loop-1.png
│ ├── cil-loop-circular.png
│ ├── cil-loop.png
│ ├── cil-low-vision.png
│ ├── cil-magnifying-glass.png
│ ├── cil-map.png
│ ├── cil-media-eject.png
│ ├── cil-media-pause.png
│ ├── cil-media-play.png
│ ├── cil-media-skip-backward.png
│ ├── cil-media-skip-forward.png
│ ├── cil-media-step-backward.png
│ ├── cil-media-step-forward.png
│ ├── cil-media-stop.png
│ ├── cil-medical-cross.png
│ ├── cil-meh.png
│ ├── cil-menu.png
│ ├── cil-microphone.png
│ ├── cil-minus.png
│ ├── cil-mobile-landscape.png
│ ├── cil-mobile.png
│ ├── cil-mood-bad.png
│ ├── cil-mood-good.png
│ ├── cil-mood-very-bad.png
│ ├── cil-mood-very-good.png
│ ├── cil-moon.png
│ ├── cil-mouse.png
│ ├── cil-move.png
│ ├── cil-movie.png
│ ├── cil-mug-tea.png
│ ├── cil-mug.png
│ ├── cil-notes.png
│ ├── cil-options-horizontal.png
│ ├── cil-options.png
│ ├── cil-paint-bucket.png
│ ├── cil-paper-plane.png
│ ├── cil-paperclip.png
│ ├── cil-paragraph.png
│ ├── cil-pen-alt.png
│ ├── cil-pencil.png
│ ├── cil-people.png
│ ├── cil-phone.png
│ ├── cil-pin.png
│ ├── cil-plus.png
│ ├── cil-power-standby.png
│ ├── cil-print.png
│ ├── cil-rectangle.png
│ ├── cil-reload.png
│ ├── cil-remove.png
│ ├── cil-rss.png
│ ├── cil-satelite.png
│ ├── cil-save.png
│ ├── cil-screen-desktop.png
│ ├── cil-screen-smartphone.png
│ ├── cil-settings.png
│ ├── cil-share-boxed.png
│ ├── cil-share.png
│ ├── cil-signal-cellular-0.png
│ ├── cil-signal-cellular-3.png
│ ├── cil-size-grip.png
│ ├── cil-smile.png
│ ├── cil-speaker.png
│ ├── cil-speech.png
│ ├── cil-speedometer.png
│ ├── cil-star.png
│ ├── cil-tags.png
│ ├── cil-task.png
│ ├── cil-terminal.png
│ ├── cil-text-size.png
│ ├── cil-text-square.png
│ ├── cil-text.png
│ ├── cil-thumb-down.png
│ ├── cil-thumb-up.png
│ ├── cil-transfer.png
│ ├── cil-triangle.png
│ ├── cil-truck.png
│ ├── cil-user-female.png
│ ├── cil-user-follow.png
│ ├── cil-user-unfollow.png
│ ├── cil-user.png
│ ├── cil-vertical-align-bottom.png
│ ├── cil-view-column.png
│ ├── cil-view-module.png
│ ├── cil-view-quilt.png
│ ├── cil-view-stream.png
│ ├── cil-voice-over-record.png
│ ├── cil-volume-high.png
│ ├── cil-volume-low.png
│ ├── cil-volume-off.png
│ ├── cil-wallet.png
│ ├── cil-watch.png
│ ├── cil-wifi-signal-0.png
│ ├── cil-wifi-signal-1.png
│ ├── cil-wifi-signal-2.png
│ ├── cil-wifi-signal-4.png
│ ├── cil-wifi-signal-off.png
│ ├── cil-window-maximize.png
│ ├── cil-window-minimize.png
│ ├── cil-window-restore.png
│ ├── cil-wrap-text.png
│ ├── cil-x-circle.png
│ ├── cil-x.png
│ ├── cil-zoom-in.png
│ ├── cil-zoom-out.png
│ ├── icon_close.png
│ ├── icon_maximize.png
│ ├── icon_menu.png
│ ├── icon_minimize.png
│ ├── icon_restore.png
│ └── icon_settings.png
└── images
│ ├── PyDracula.png
│ ├── PyDracula_horizontal.png
│ └── PyDracula_vertical.png
├── main.py
├── main.spec
├── main.ui
├── main_bak.ui
├── modules
├── __init__.py
├── app_functions.py
├── app_settings.py
├── resources_rc.py
├── ui_functions.py
└── ui_main.py
├── resources.qrc
├── resources_rc.py
├── setup.py
├── themes
├── py_dracula_dark.qss
└── py_dracula_light.qss
├── ui_main.py
├── widgets
├── __init__.py
└── custom_grips
│ ├── __init__.py
│ └── custom_grips.py
└── 说明书.docx
/caipiao/caipiao.py:
--------------------------------------------------------------------------------
1 | """
2 | -*- coding: utf-8 -*-
3 | @Author : blyang
4 | @project : PythonCode
5 | @Time : 2022/6/12 21:57
6 | """
7 | import random
8 | import time
9 | import logging
10 | import os
11 | import sys
12 |
13 | from PySide6 import QtCore
14 | from PySide6.QtWidgets import QApplication, QMessageBox, QFileDialog
15 | from PySide6.QtUiTools import QUiLoader
16 | from PySide6.QtCore import QThread, Signal
17 |
18 | # 获取初始路径
19 | gen_path = os.path.dirname(os.path.realpath(sys.argv[0]))
20 | # if os.path.exists(os.path.join(gen_path, "result.txt")):
21 | # os.remove(os.path.join(gen_path, "result.txt"))
22 |
23 | # 初始化日志存取路径
24 | logging.basicConfig(filename=os.path.join(gen_path, "result.txt"), level=logging.INFO)
25 |
26 | # 一些全局变量的设置
27 | red_num = [x for x in range(1, 34)]
28 | blue_num = [x for x in range(1, 17)]
29 | counts = 0
30 | select_one_flag = 0
31 | str_one_list = []
32 | buy_first = []
33 | # 中奖号码
34 | result_list = []
35 | # 花费总金额
36 | sum_ = 0
37 | # 购买总注数
38 | buy_num = 0
39 | # 数据结果汇总字典
40 | result_dict = {"一等奖": 0, "二等奖": 0, "三等奖": 0, "四等奖": 0, "五等奖": 0, "六等奖": 0,
41 | "购买注数": 0, "花费": 0, "盈利": 0}
42 | money = {"一等奖": 5000000, "二等奖": 1000000, "三等奖": 3000, "四等奖": 200, "五等奖": 10, "六等奖": 5}
43 |
44 |
45 | # 06 11 14 20 27 30 09
46 | def data_check_one(str_list):
47 | """
48 | 判断一注的数据是不是符合规范
49 | :param str_list:
50 | :return:
51 | """
52 | if len(str_list) != 7:
53 | # 后期改为弹窗提醒
54 | print("输入格式不对")
55 | elif len(str_list) == 7:
56 | for index, str_ in enumerate(str_list):
57 | if index < 6:
58 | if int(str_) not in red_num:
59 | print("红色数据数值不对")
60 | else:
61 | if int(str_) not in blue_num:
62 | print("蓝色数据数值不对")
63 |
64 |
65 | def data_check(str_):
66 | """
67 | 校验所有的彩票数据是否符合规范,包括个数对但是大小不对的判断
68 | :return:
69 | """
70 | # 分几种情况,如果只有一注,判断长度,数值对不对,如果带 * 号的,要进行分割,如果是多注的,拆分后判断
71 | if "*" not in str_ and "," not in str_:
72 | str_list = str_.split(' ')
73 | # 单注判断封装为函数
74 | data_check_one(str_list)
75 | elif "*" in str_:
76 | global counts
77 | str_, counts = str_.split('*')
78 | str_list = str_.split(' ')
79 | data_check_one(str_list)
80 | elif "," in str_:
81 | global str_one_list
82 | str_one_list = str_.split(",")
83 | for str_one in str_one_list:
84 | str_list = str_one.split(' ')
85 | data_check_one(str_list)
86 | elif str_ == " ":
87 | pass
88 |
89 |
90 | def buy_one():
91 | """
92 | 购买一注彩票
93 | :return:
94 | """
95 | # 规则1-5, 完全随机购买
96 | list1 = [i for i in range(1, 34)]
97 | list2 = [i for i in range(1, 17)]
98 | red1 = random.randint(0, 32)
99 | red2 = random.randint(0, 31)
100 | red3 = random.randint(0, 30)
101 | red4 = random.randint(0, 29)
102 | red5 = random.randint(0, 28)
103 | red6 = random.randint(0, 27)
104 | blue = random.randint(0, 15)
105 | rule5 = [list1.pop(red1), list1.pop(red2), list1.pop(red3), list1.pop(red4),
106 | list1.pop(red5), list1.pop(red6)]
107 | rule5.sort()
108 | rule5.append(list2.pop(blue))
109 | return rule5
110 |
111 |
112 | # 判断是否中奖
113 | def judge_lottery(list1, list2):
114 | """
115 | 传入两组数据,一组中奖号码,一组自己买的号码,判断是否中奖
116 | :list1: 中奖号码
117 | :list2: 自己购买的号码
118 | :return:
119 | """
120 | count = 0
121 | for i in range(6):
122 | if list2[i] in list1[0:6]:
123 | count += 1
124 | if len(list1) == 7 and len(list2) == 7:
125 | if count == 6 and list1[-1] == list2[-1]: # 6+1
126 | return '一等奖'
127 | elif count == 6: # 6
128 | return '二等奖'
129 | elif count == 5 and list1[-1] == list2[-1]: # 5+1
130 | return '三等奖'
131 | elif count == 5 or (count == 4 and list1[-1] == list2[-1]): # 5 4+1
132 | return '四等奖'
133 | elif count == 4 or (count == 3 and list1[-1] == list2[-1]): # 4 3+1
134 | return '五等奖'
135 | elif list1[-1] == list2[-1]: # 1
136 | return '六等奖'
137 | else:
138 | return '没有中奖'
139 | else:
140 | return '格式错误'
141 |
142 |
143 | def buy_and_judge(flag=0):
144 | """
145 | 购买和判断是否中奖
146 | :return:
147 | """
148 | if flag:
149 | buy_list = buy_first
150 | print(f"购买彩票:{buy_first}")
151 | else:
152 | buy_list = buy_one()
153 | print(f"购买彩票:{buy_list}")
154 | rst = judge_lottery(result_list, buy_list)
155 | if rst == "一等奖":
156 | logging.info(f"中一等奖:{buy_list}")
157 | result_dict["一等奖"] += 1
158 | elif rst == "二等奖":
159 | logging.info(f"中二等奖:{buy_list}")
160 | result_dict["二等奖"] += 1
161 | elif rst == "三等奖":
162 | logging.info(f"中三等奖:{buy_list}")
163 | result_dict["三等奖"] += 1
164 | elif rst == "四等奖":
165 | logging.info(f"中四等奖:{buy_list}")
166 | result_dict["四等奖"] += 1
167 | elif rst == "五等奖":
168 | logging.info(f"中五等奖:{buy_list}")
169 | result_dict["五等奖"] += 1
170 | elif rst == "六等奖":
171 | logging.info(f"中六等奖:{buy_list}")
172 | result_dict["六等奖"] += 1
173 | else:
174 | pass
175 | result_dict["购买注数"] += 1
176 | result_dict["花费"] += 2
177 | result_dict["盈利"] += money.get(rst, 0)
178 | result_dict["盈利"] -= 2
179 |
180 |
181 | # 继承QObject类
182 | class NewThread(QThread):
183 | # 自定义信号声明
184 | # 使用自定义信号和UI主线程通讯,参数是发送信号时附带参数的数据类型,可以是str、int、list等
185 | finishSignal = Signal(str)
186 |
187 | # 带一个参数t
188 | def __init__(self, parent=None):
189 | super(NewThread, self).__init__(parent)
190 |
191 | # run函数是子线程中的操作,线程启动后开始执行
192 | # 当前一个线程,下个阶段开多线程,并行操作
193 | def run(self):
194 | while buy_num > 0:
195 | time.sleep(0.05)
196 | # 发射自定义信号
197 | # 通过emit函数将参数i传递给主线程,触发自定义信号
198 | self.finishSignal.emit(str(buy_num)) # 注意这里与_signal = pyqtSignal(str)中的类型相同
199 |
200 |
201 | class Stats:
202 |
203 | def __init__(self):
204 | # 从文件中加载UI定义
205 |
206 | # 从 UI 定义中动态 创建一个相应的窗口对象
207 | # 注意:里面的控件对象也成为窗口对象的属性了
208 | # 比如 self.ui.button , self.ui.textEdit
209 | # self.ui = QUiLoader().load('main.ui')
210 | self.ui = QUiLoader().load(r'./caipiao.ui')
211 | # 守护号码
212 | self.buy_first_list = []
213 | # 把所有lineEdit元素放入一个列表,方便操作
214 | self.lineEdit_buy = [self.ui.lineEdit_3, self.ui.lineEdit_4, self.ui.lineEdit_5, self.ui.lineEdit_6,
215 | self.ui.lineEdit_7, self.ui.lineEdit_8, self.ui.lineEdit_11, self.ui.lineEdit_12,
216 | self.ui.lineEdit_13]
217 | self.lineEdit_result = [self.ui.lineEdit_3, self.ui.lineEdit_4, self.ui.lineEdit_5, self.ui.lineEdit_6,
218 | self.ui.lineEdit_7, self.ui.lineEdit_8, self.ui.lineEdit_11, self.ui.lineEdit_12,
219 | self.ui.lineEdit_13, self.ui.lineEdit_9]
220 |
221 | # 目标中奖号码
222 | self.lineEdit = self.ui.lineEdit.text()
223 | # 绑定按钮和函数
224 | self.ui.pushButton.clicked.connect(self.start_run) # 此处不能加(), 否则会直接执行
225 | self.ui.pushButton_2.clicked.connect(self.check_result) # 此处不能加(), 否则会直接执行
226 | self.ui.pushButton_3.clicked.connect(self.stop_run) # 此处不能加(), 否则会直接执行
227 |
228 | self.ui.setWindowTitle('彩票模拟器')
229 | self.ui.statusbar.showMessage("相信科学,尊重概率。")
230 |
231 | # 调用才会生效
232 | self.page_init()
233 |
234 | def page_init(self):
235 | """
236 | 初始化页面,有些参数只允许脚本修改,不允许用户修改
237 | :return:
238 | """
239 | # 将所有开奖结果设置为不可修改
240 | for lineEdit in self.lineEdit_result:
241 | lineEdit.setReadOnly(True)
242 |
243 | def judge_par(self):
244 | """
245 | 参数获取判断,不符合规范需提示报错
246 | :return:
247 | """
248 | # 依次接收设置的数据
249 | # 目标号码
250 | lineEdit = self.ui.lineEdit.text()
251 | data_check(lineEdit)
252 | global result_list, result_dict
253 | result_list = [int(x) for x in lineEdit.split(" ")]
254 | # 守护号码,可不写
255 | textEdit = self.ui.textEdit.toPlainText()
256 | if textEdit:
257 | # 如果自选号码只有一注
258 | if "*" not in textEdit and "," not in textEdit:
259 | global select_one_flag
260 | select_one_flag = 1
261 | data_check(textEdit)
262 | self.buy_first_list = textEdit.split(" ")
263 | self.buy_first_list = [int(x) for x in self.buy_first_list]
264 | # 暂不实现多个自选
265 | # elif "," in textEdit:
266 | # buy_list = textEdit.split(",")
267 | # print(buy_list)
268 |
269 | # 随机注数,可不写,不写所有金额用来购买守护号,写了则应大于0
270 | lineEdit_2 = self.ui.lineEdit_2.text()
271 | global buy_num
272 | buy_num = int(lineEdit_2)
273 | result_dict["number"] = int(lineEdit_2)
274 | if lineEdit_2:
275 | # 如果此项写了,判断格式是否正确
276 | if int(lineEdit_2) <= 0:
277 | print("购买注数应大于0")
278 |
279 | # 花费金额,设置为不可更改,由计算得出
280 | global sum_
281 | if lineEdit_2:
282 | if int(lineEdit_2) >= 0:
283 | sum_ += int(lineEdit_2) * 2
284 | if textEdit:
285 | global counts, str_one_list
286 | sum_ += int(counts) * 2
287 | sum_ += len(str_one_list) * 2
288 | sum_ += select_one_flag * 2
289 |
290 | self.ui.lineEdit_9.setText(str(sum_))
291 | return self.buy_first_list
292 |
293 | def start_run(self):
294 | """
295 | 对应开始模拟按钮,开始运行脚本
296 | :return:
297 | """
298 | global counts, str_one_list, select_one_flag
299 | counts = 0
300 | select_one_flag = 0
301 | str_one_list = []
302 | global buy_first
303 | buy_first = self.judge_par()
304 | # 先购买自选号码
305 | if buy_first:
306 | buy_and_judge(1)
307 | # 开启一个线程,购买彩票,判断是否中奖,记录中奖结果,返回中奖信息给界面
308 | self.thread1 = NewThread() # 实例化一个线程
309 | self.thread2 = NewThread() # 实例化一个线程
310 | self.thread3 = NewThread() # 实例化一个线程
311 | self.thread4 = NewThread() # 实例化一个线程
312 | self.thread5 = NewThread() # 实例化一个线程
313 | # 开启一个线程,购买彩票,判断是否中奖,记录中奖结果,返回中奖信息给界面
314 | self.thread6 = NewThread() # 实例化一个线程
315 | self.thread7 = NewThread() # 实例化一个线程
316 | self.thread8 = NewThread() # 实例化一个线程
317 | self.thread9 = NewThread() # 实例化一个线程
318 | self.thread10 = NewThread() # 实例化一个线程
319 | # 将线程thread的信号finishSignal和UI主线程中的槽函数data_display进行连接
320 | self.thread1.finishSignal.connect(self.data_display)
321 | self.thread2.finishSignal.connect(self.data_display)
322 | self.thread3.finishSignal.connect(self.data_display)
323 | self.thread4.finishSignal.connect(self.data_display)
324 | self.thread5.finishSignal.connect(self.data_display)
325 | self.thread6.finishSignal.connect(self.data_display)
326 | self.thread7.finishSignal.connect(self.data_display)
327 | self.thread8.finishSignal.connect(self.data_display)
328 | self.thread9.finishSignal.connect(self.data_display)
329 | self.thread10.finishSignal.connect(self.data_display)
330 | # 启动线程,执行线程类中run函数
331 | self.thread1.start()
332 | self.thread2.start()
333 | self.thread3.start()
334 | self.thread4.start()
335 | self.thread5.start()
336 | self.thread6.start()
337 | self.thread7.start()
338 | self.thread8.start()
339 | self.thread9.start()
340 | self.thread10.start()
341 |
342 | def data_display(self, str_):
343 | """
344 | 数据的展示
345 | :return:
346 | """
347 | # 先买守护号,守护号买完了再随机买
348 | global buy_num
349 | buy_num -= 1
350 | if buy_num >= 0:
351 | buy_and_judge()
352 | self.ui.lineEdit_11.setText(str(result_dict["购买注数"]))
353 | self.ui.lineEdit_12.setText(str(result_dict["花费"]))
354 | self.ui.lineEdit_13.setText(str(result_dict["盈利"]))
355 | self.ui.lineEdit_3.setText(str(result_dict["一等奖"]))
356 | self.ui.lineEdit_4.setText(str(result_dict["二等奖"]))
357 | self.ui.lineEdit_5.setText(str(result_dict["三等奖"]))
358 | self.ui.lineEdit_6.setText(str(result_dict["四等奖"]))
359 | self.ui.lineEdit_7.setText(str(result_dict["五等奖"]))
360 | self.ui.lineEdit_8.setText(str(result_dict["六等奖"]))
361 | else:
362 | pass
363 |
364 | def stop_run(self):
365 | """
366 | 中途停止运行脚本,暂未实现,弹窗提醒
367 | :return:
368 | """
369 | QMessageBox.information(self.ui, "标题", "此功能暂未实现,可直接点击右上角退出软件")
370 |
371 | def check_result(self):
372 | """
373 | 查看中奖记录,中奖记录保存在当前文件夹下的result.log
374 | :return:
375 | """
376 | folder = os.path.join(gen_path, "result.txt")
377 | # 方法1:通过start explorer
378 | os.system("start explorer %s" % folder)
379 | # 方法2:通过startfile
380 | # os.startfile(folder)
381 |
382 |
383 | if __name__ == "__main__":
384 | app = QApplication([])
385 | stats = Stats()
386 | stats.ui.show()
387 | app.exec()
388 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/.gitignore:
--------------------------------------------------------------------------------
1 | __pycache__/
2 | .git/
3 | .pyc
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/1.jpg
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/2.jpg
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/2.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/3.jpg
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/4.jpg
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/5.jpg
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Wanderson M. Pimenta
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/README.md:
--------------------------------------------------------------------------------
1 | # PyDracula - Modern GUI PySide6 / PyQt6
2 | #
3 |
4 | > ## :gift: **//// DONATE ////**
5 | > ## 🔗 Donate (Gumroad): https://gum.co/mHsRC
6 | > This interface is free for any use, but if you are going to use it commercially, consider helping to maintain this project and others with a donation by Gumroado at the link above. This helps to keep this and other projects active.
7 |
8 | > **Warning**: this project was created using PySide6 and Python 3.9, using previous versions can cause compatibility problems.
9 |
10 | # YouTube - Presentation And Tutorial
11 | Presentation and tutorial video with the main functions of the user interface.
12 | > 🔗 https://youtu.be/9DnaHg4M_AM
13 |
14 | # Multiple Themes
15 | 
16 | 
17 |
18 | # High DPI
19 | > Qt Widgets is an old technology and does not have a good support for high DPI settings, making these images look distorted when your system has DPI applied above 100%.
20 | You can minimize this problem using a workaround by applying this code below in "main.py" just below the import of the Qt modules.
21 | ```python
22 | # ADJUST QT FONT DPI FOR HIGHT SCALE
23 | # ///////////////////////////////////////////////////////////////
24 | from modules import *
25 | from widgets import *
26 | os.environ["QT_FONT_DPI"] = "96"
27 | ```
28 |
29 | # Running
30 | > Inside your preferred terminal run the commands below depending on your system, remembering before installing Python 3.9> and PySide6 "pip install PySide6".
31 | > ## **Windows**:
32 | ```console
33 | python main.py
34 | ```
35 | > ## **MacOS and Linux**:
36 | ```console
37 | python3 main.py
38 | ```
39 | # Compiling
40 | > ## **Windows**:
41 | ```console
42 | python setup.py build
43 | ```
44 |
45 | # Project Files And Folders
46 | > **main.py**: application initialization file.
47 |
48 | > **main.ui**: Qt Designer project.
49 |
50 | > **resouces.qrc**: Qt Designer resoucers, add here your resources using Qt Designer. Use version 6 >
51 |
52 | > **setup.py**: cx-Freeze setup to compile your application (configured for Windows).
53 |
54 | > **themes/**: add here your themes (.qss).
55 |
56 | > **modules/**: module for running PyDracula GUI.
57 |
58 | > **modules/app_funtions.py**: add your application's functions here.
59 | Up
60 | > **modules/app_settings.py**: global variables to configure user interface.
61 |
62 | > **modules/resources_rc.py**: "resource.qrc" file compiled for python using the command: ```pyside6-rcc resources.qrc -o resources_rc.py```.
63 |
64 | > **modules/ui_functions.py**: add here only functions related to the user interface / GUI.
65 |
66 | > **modules/ui_main.py**: file related to the user interface exported by Qt Designer. You can compile it manually using the command: ```pyside6-uic main.ui> ui_main.py ```.
67 | After expoting in .py and change the line "import resources_rc" to "from. Resoucers_rc import *" to use as a module.
68 |
69 | > **images/**: put all your images and icons here before converting to Python (resources_re.py) ```pyside6-rcc resources.qrc -o resources_rc.py```.
70 |
71 | # Projects Created Using PyDracula
72 | **See the projects that were created using PyDracula.**
73 | > To participate create a "Issue" with the name beginning with "#pydracula_project", leaving the link of your project on Github, name of the creator and what is its functionality. Your project will be added and this list will be deleted from "Issue".
74 | **Malicious programs will not be added**!
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/COLLECT-00.toc:
--------------------------------------------------------------------------------
1 | ([('main.exe',
2 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\main.exe',
3 | 'EXECUTABLE'),
4 | ('VCRUNTIME140.dll',
5 | 'C:\\Program Files\\Python38\\VCRUNTIME140.dll',
6 | 'BINARY'),
7 | ('python38.dll', 'C:\\Program Files\\Python38\\python38.dll', 'BINARY'),
8 | ('PySide6\\plugins\\imageformats\\qwebp.dll',
9 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qwebp.dll',
10 | 'BINARY'),
11 | ('PySide6\\plugins\\tls\\qopensslbackend.dll',
12 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\tls\\qopensslbackend.dll',
13 | 'BINARY'),
14 | ('PySide6\\plugins\\imageformats\\qsvg.dll',
15 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qsvg.dll',
16 | 'BINARY'),
17 | ('PySide6\\plugins\\tls\\qschannelbackend.dll',
18 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\tls\\qschannelbackend.dll',
19 | 'BINARY'),
20 | ('PySide6\\plugins\\imageformats\\qtiff.dll',
21 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qtiff.dll',
22 | 'BINARY'),
23 | ('PySide6\\plugins\\platforms\\qdirect2d.dll',
24 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\platforms\\qdirect2d.dll',
25 | 'BINARY'),
26 | ('PySide6\\plugins\\generic\\qtuiotouchplugin.dll',
27 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\generic\\qtuiotouchplugin.dll',
28 | 'BINARY'),
29 | ('PySide6\\plugins\\tls\\qcertonlybackend.dll',
30 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\tls\\qcertonlybackend.dll',
31 | 'BINARY'),
32 | ('PySide6\\plugins\\imageformats\\qwbmp.dll',
33 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qwbmp.dll',
34 | 'BINARY'),
35 | ('PySide6\\plugins\\imageformats\\qtga.dll',
36 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qtga.dll',
37 | 'BINARY'),
38 | ('PySide6\\plugins\\imageformats\\qicns.dll',
39 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qicns.dll',
40 | 'BINARY'),
41 | ('PySide6\\plugins\\platforms\\qwindows.dll',
42 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\platforms\\qwindows.dll',
43 | 'BINARY'),
44 | ('PySide6\\plugins\\platforminputcontexts\\qtvirtualkeyboardplugin.dll',
45 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\platforminputcontexts\\qtvirtualkeyboardplugin.dll',
46 | 'BINARY'),
47 | ('PySide6\\opengl32sw.dll',
48 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\opengl32sw.dll',
49 | 'BINARY'),
50 | ('PySide6\\plugins\\styles\\qwindowsvistastyle.dll',
51 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\styles\\qwindowsvistastyle.dll',
52 | 'BINARY'),
53 | ('PySide6\\plugins\\imageformats\\qgif.dll',
54 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qgif.dll',
55 | 'BINARY'),
56 | ('PySide6\\plugins\\networkinformation\\qnetworklistmanager.dll',
57 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\networkinformation\\qnetworklistmanager.dll',
58 | 'BINARY'),
59 | ('PySide6\\plugins\\imageformats\\qjpeg.dll',
60 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qjpeg.dll',
61 | 'BINARY'),
62 | ('PySide6\\plugins\\platforms\\qoffscreen.dll',
63 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\platforms\\qoffscreen.dll',
64 | 'BINARY'),
65 | ('PySide6\\plugins\\imageformats\\qpdf.dll',
66 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qpdf.dll',
67 | 'BINARY'),
68 | ('PySide6\\plugins\\iconengines\\qsvgicon.dll',
69 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\iconengines\\qsvgicon.dll',
70 | 'BINARY'),
71 | ('PySide6\\plugins\\imageformats\\qico.dll',
72 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\imageformats\\qico.dll',
73 | 'BINARY'),
74 | ('PySide6\\plugins\\platforms\\qminimal.dll',
75 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\plugins\\platforms\\qminimal.dll',
76 | 'BINARY'),
77 | ('_lzma.pyd', 'C:\\Program Files\\Python38\\DLLs\\_lzma.pyd', 'EXTENSION'),
78 | ('_bz2.pyd', 'C:\\Program Files\\Python38\\DLLs\\_bz2.pyd', 'EXTENSION'),
79 | ('select.pyd', 'C:\\Program Files\\Python38\\DLLs\\select.pyd', 'EXTENSION'),
80 | ('_socket.pyd',
81 | 'C:\\Program Files\\Python38\\DLLs\\_socket.pyd',
82 | 'EXTENSION'),
83 | ('unicodedata.pyd',
84 | 'C:\\Program Files\\Python38\\DLLs\\unicodedata.pyd',
85 | 'EXTENSION'),
86 | ('_ssl.pyd', 'C:\\Program Files\\Python38\\DLLs\\_ssl.pyd', 'EXTENSION'),
87 | ('_hashlib.pyd',
88 | 'C:\\Program Files\\Python38\\DLLs\\_hashlib.pyd',
89 | 'EXTENSION'),
90 | ('PySide6\\QtCharts.pyd',
91 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\QtCharts.pyd',
92 | 'EXTENSION'),
93 | ('PySide6\\QtGui.pyd',
94 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\QtGui.pyd',
95 | 'EXTENSION'),
96 | ('PySide6\\QtWidgets.pyd',
97 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\QtWidgets.pyd',
98 | 'EXTENSION'),
99 | ('PySide6\\QtOpenGL.pyd',
100 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\QtOpenGL.pyd',
101 | 'EXTENSION'),
102 | ('PySide6\\QtCore.pyd',
103 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\QtCore.pyd',
104 | 'EXTENSION'),
105 | ('PySide6\\QtOpenGLWidgets.pyd',
106 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\QtOpenGLWidgets.pyd',
107 | 'EXTENSION'),
108 | ('PySide6\\QtNetwork.pyd',
109 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\QtNetwork.pyd',
110 | 'EXTENSION'),
111 | ('shiboken6\\Shiboken.pyd',
112 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\shiboken6\\Shiboken.pyd',
113 | 'EXTENSION'),
114 | ('_elementtree.pyd',
115 | 'C:\\Program Files\\Python38\\DLLs\\_elementtree.pyd',
116 | 'EXTENSION'),
117 | ('pyexpat.pyd',
118 | 'C:\\Program Files\\Python38\\DLLs\\pyexpat.pyd',
119 | 'EXTENSION'),
120 | ('psutil\\_psutil_windows.pyd',
121 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_psutil_windows.pyd',
122 | 'EXTENSION'),
123 | ('_ctypes.pyd',
124 | 'C:\\Program Files\\Python38\\DLLs\\_ctypes.pyd',
125 | 'EXTENSION'),
126 | ('PySide6\\Qt6Core.dll',
127 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Core.dll',
128 | 'BINARY'),
129 | ('PySide6\\Qt6Gui.dll',
130 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Gui.dll',
131 | 'BINARY'),
132 | ('PySide6\\Qt6Network.dll',
133 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Network.dll',
134 | 'BINARY'),
135 | ('shiboken6\\MSVCP140.dll',
136 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\shiboken6\\MSVCP140.dll',
137 | 'BINARY'),
138 | ('VCRUNTIME140_1.dll',
139 | 'C:\\Program Files\\Python38\\VCRUNTIME140_1.dll',
140 | 'BINARY'),
141 | ('PySide6\\Qt6Svg.dll',
142 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Svg.dll',
143 | 'BINARY'),
144 | ('PySide6\\Qt6VirtualKeyboard.dll',
145 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6VirtualKeyboard.dll',
146 | 'BINARY'),
147 | ('PySide6\\Qt6Widgets.dll',
148 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Widgets.dll',
149 | 'BINARY'),
150 | ('PySide6\\Qt6Pdf.dll',
151 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Pdf.dll',
152 | 'BINARY'),
153 | ('libssl-1_1.dll',
154 | 'C:\\Program Files\\Python38\\DLLs\\libssl-1_1.dll',
155 | 'BINARY'),
156 | ('libcrypto-1_1.dll',
157 | 'C:\\Program Files\\Python38\\DLLs\\libcrypto-1_1.dll',
158 | 'BINARY'),
159 | ('PySide6\\Qt6Charts.dll',
160 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\Qt6Charts.dll',
161 | 'BINARY'),
162 | ('python3.dll', 'C:\\Program Files\\Python38\\python3.dll', 'BINARY'),
163 | ('PySide6\\pyside6.abi3.dll',
164 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\pyside6.abi3.dll',
165 | 'BINARY'),
166 | ('shiboken6\\shiboken6.abi3.dll',
167 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\shiboken6\\shiboken6.abi3.dll',
168 | 'BINARY'),
169 | ('shiboken6\\MSVCP140_2.dll',
170 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\shiboken6\\MSVCP140_2.dll',
171 | 'BINARY'),
172 | ('PySide6\\Qt6OpenGL.dll',
173 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\Qt6OpenGL.dll',
174 | 'BINARY'),
175 | ('PySide6\\Qt6OpenGLWidgets.dll',
176 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\Qt6OpenGLWidgets.dll',
177 | 'BINARY'),
178 | ('shiboken6\\VCRUNTIME140_1.dll',
179 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\shiboken6\\VCRUNTIME140_1.dll',
180 | 'BINARY'),
181 | ('libffi-7.dll', 'C:\\Program Files\\Python38\\DLLs\\libffi-7.dll', 'BINARY'),
182 | ('shiboken6\\MSVCP140_1.dll',
183 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\shiboken6\\MSVCP140_1.dll',
184 | 'BINARY'),
185 | ('PySide6\\Qt6Quick.dll',
186 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Quick.dll',
187 | 'BINARY'),
188 | ('PySide6\\Qt6Qml.dll',
189 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6Qml.dll',
190 | 'BINARY'),
191 | ('PySide6\\Qt6QmlModels.dll',
192 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PySide6\\Qt6QmlModels.dll',
193 | 'BINARY'),
194 | ('base_library.zip',
195 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\base_library.zip',
196 | 'DATA'),
197 | ('PySide6\\translations\\qtbase_bg.qm',
198 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_bg.qm',
199 | 'DATA'),
200 | ('PySide6\\translations\\qtbase_ar.qm',
201 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_ar.qm',
202 | 'DATA'),
203 | ('PySide6\\translations\\qtbase_hu.qm',
204 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_hu.qm',
205 | 'DATA'),
206 | ('PySide6\\translations\\qtbase_es.qm',
207 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_es.qm',
208 | 'DATA'),
209 | ('PySide6\\translations\\qtbase_pl.qm',
210 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_pl.qm',
211 | 'DATA'),
212 | ('PySide6\\translations\\qtbase_de.qm',
213 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_de.qm',
214 | 'DATA'),
215 | ('PySide6\\translations\\qtbase_he.qm',
216 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_he.qm',
217 | 'DATA'),
218 | ('PySide6\\translations\\qtbase_en.qm',
219 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_en.qm',
220 | 'DATA'),
221 | ('PySide6\\translations\\qtbase_ko.qm',
222 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_ko.qm',
223 | 'DATA'),
224 | ('PySide6\\translations\\qtbase_hr.qm',
225 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_hr.qm',
226 | 'DATA'),
227 | ('PySide6\\translations\\qtbase_pt_BR.qm',
228 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_pt_BR.qm',
229 | 'DATA'),
230 | ('PySide6\\translations\\qtbase_ja.qm',
231 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_ja.qm',
232 | 'DATA'),
233 | ('PySide6\\translations\\qtbase_uk.qm',
234 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_uk.qm',
235 | 'DATA'),
236 | ('PySide6\\translations\\qtbase_da.qm',
237 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_da.qm',
238 | 'DATA'),
239 | ('PySide6\\translations\\qtbase_fr.qm',
240 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_fr.qm',
241 | 'DATA'),
242 | ('PySide6\\translations\\qtbase_nl.qm',
243 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_nl.qm',
244 | 'DATA'),
245 | ('PySide6\\translations\\qtbase_ru.qm',
246 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_ru.qm',
247 | 'DATA'),
248 | ('PySide6\\translations\\qtbase_it.qm',
249 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_it.qm',
250 | 'DATA'),
251 | ('PySide6\\translations\\qtbase_zh_CN.qm',
252 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_zh_CN.qm',
253 | 'DATA'),
254 | ('PySide6\\translations\\qtbase_gd.qm',
255 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_gd.qm',
256 | 'DATA'),
257 | ('PySide6\\translations\\qtbase_sk.qm',
258 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_sk.qm',
259 | 'DATA'),
260 | ('PySide6\\translations\\qtbase_ca.qm',
261 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_ca.qm',
262 | 'DATA'),
263 | ('PySide6\\translations\\qtbase_tr.qm',
264 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_tr.qm',
265 | 'DATA'),
266 | ('PySide6\\translations\\qtbase_nn.qm',
267 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_nn.qm',
268 | 'DATA'),
269 | ('PySide6\\translations\\qtbase_cs.qm',
270 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_cs.qm',
271 | 'DATA'),
272 | ('PySide6\\translations\\qtbase_fa.qm',
273 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_fa.qm',
274 | 'DATA'),
275 | ('PySide6\\translations\\qtbase_zh_TW.qm',
276 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_zh_TW.qm',
277 | 'DATA'),
278 | ('PySide6\\translations\\qtbase_lv.qm',
279 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_lv.qm',
280 | 'DATA'),
281 | ('PySide6\\translations\\qtbase_fi.qm',
282 | 'D:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\translations\\qtbase_fi.qm',
283 | 'DATA')],)
284 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/EXE-00.toc:
--------------------------------------------------------------------------------
1 | ('E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\main.exe',
2 | True,
3 | False,
4 | True,
5 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PyInstaller\\bootloader\\images\\icon-console.ico',
6 | None,
7 | False,
8 | False,
9 | 'true',
10 | True,
11 | True,
12 | False,
13 | None,
14 | None,
15 | None,
16 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\main.pkg',
17 | [('PYZ-00.pyz',
18 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\PYZ-00.pyz',
19 | 'PYZ'),
20 | ('struct',
21 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\struct.pyc',
22 | 'PYMODULE'),
23 | ('pyimod01_archive',
24 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod01_archive.pyc',
25 | 'PYMODULE'),
26 | ('pyimod02_importers',
27 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod02_importers.pyc',
28 | 'PYMODULE'),
29 | ('pyimod03_ctypes',
30 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod03_ctypes.pyc',
31 | 'PYMODULE'),
32 | ('pyimod04_pywin32',
33 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod04_pywin32.pyc',
34 | 'PYMODULE'),
35 | ('pyiboot01_bootstrap',
36 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
37 | 'PYSOURCE'),
38 | ('pyi_rth_pyside6',
39 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pyside6.py',
40 | 'PYSOURCE'),
41 | ('pyi_rth_inspect',
42 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py',
43 | 'PYSOURCE'),
44 | ('main',
45 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\main.py',
46 | 'PYSOURCE')],
47 | [],
48 | False,
49 | False,
50 | 1674227474,
51 | [('run.exe',
52 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe',
53 | 'EXECUTABLE')])
54 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/PKG-00.toc:
--------------------------------------------------------------------------------
1 | ('E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\main.pkg',
2 | {'BINARY': 1,
3 | 'DATA': 1,
4 | 'EXECUTABLE': 1,
5 | 'EXTENSION': 1,
6 | 'PYMODULE': 1,
7 | 'PYSOURCE': 1,
8 | 'PYZ': 0,
9 | 'SPLASH': 1},
10 | [('PYZ-00.pyz',
11 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\PYZ-00.pyz',
12 | 'PYZ'),
13 | ('struct',
14 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\struct.pyc',
15 | 'PYMODULE'),
16 | ('pyimod01_archive',
17 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod01_archive.pyc',
18 | 'PYMODULE'),
19 | ('pyimod02_importers',
20 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod02_importers.pyc',
21 | 'PYMODULE'),
22 | ('pyimod03_ctypes',
23 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod03_ctypes.pyc',
24 | 'PYMODULE'),
25 | ('pyimod04_pywin32',
26 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\localpycs\\pyimod04_pywin32.pyc',
27 | 'PYMODULE'),
28 | ('pyiboot01_bootstrap',
29 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py',
30 | 'PYSOURCE'),
31 | ('pyi_rth_pyside6',
32 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pyside6.py',
33 | 'PYSOURCE'),
34 | ('pyi_rth_inspect',
35 | 'D:\\devsoft\\env\\gui\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py',
36 | 'PYSOURCE'),
37 | ('main',
38 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\main.py',
39 | 'PYSOURCE')],
40 | True,
41 | False,
42 | False,
43 | [],
44 | None,
45 | None,
46 | None)
47 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/PYZ-00.pyz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/PYZ-00.pyz
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/PYZ-00.toc:
--------------------------------------------------------------------------------
1 | ('E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\build\\main\\PYZ-00.pyz',
2 | [('inspect', 'C:\\Program Files\\Python38\\lib\\inspect.py', 'PYMODULE'),
3 | ('importlib',
4 | 'C:\\Program Files\\Python38\\lib\\importlib\\__init__.py',
5 | 'PYMODULE'),
6 | ('importlib._bootstrap_external',
7 | 'C:\\Program Files\\Python38\\lib\\importlib\\_bootstrap_external.py',
8 | 'PYMODULE'),
9 | ('importlib.metadata',
10 | 'C:\\Program Files\\Python38\\lib\\importlib\\metadata.py',
11 | 'PYMODULE'),
12 | ('importlib.abc',
13 | 'C:\\Program Files\\Python38\\lib\\importlib\\abc.py',
14 | 'PYMODULE'),
15 | ('contextlib', 'C:\\Program Files\\Python38\\lib\\contextlib.py', 'PYMODULE'),
16 | ('configparser',
17 | 'C:\\Program Files\\Python38\\lib\\configparser.py',
18 | 'PYMODULE'),
19 | ('zipfile', 'C:\\Program Files\\Python38\\lib\\zipfile.py', 'PYMODULE'),
20 | ('py_compile', 'C:\\Program Files\\Python38\\lib\\py_compile.py', 'PYMODULE'),
21 | ('lzma', 'C:\\Program Files\\Python38\\lib\\lzma.py', 'PYMODULE'),
22 | ('_compression',
23 | 'C:\\Program Files\\Python38\\lib\\_compression.py',
24 | 'PYMODULE'),
25 | ('bz2', 'C:\\Program Files\\Python38\\lib\\bz2.py', 'PYMODULE'),
26 | ('threading', 'C:\\Program Files\\Python38\\lib\\threading.py', 'PYMODULE'),
27 | ('_threading_local',
28 | 'C:\\Program Files\\Python38\\lib\\_threading_local.py',
29 | 'PYMODULE'),
30 | ('struct', 'C:\\Program Files\\Python38\\lib\\struct.py', 'PYMODULE'),
31 | ('shutil', 'C:\\Program Files\\Python38\\lib\\shutil.py', 'PYMODULE'),
32 | ('tarfile', 'C:\\Program Files\\Python38\\lib\\tarfile.py', 'PYMODULE'),
33 | ('gzip', 'C:\\Program Files\\Python38\\lib\\gzip.py', 'PYMODULE'),
34 | ('copy', 'C:\\Program Files\\Python38\\lib\\copy.py', 'PYMODULE'),
35 | ('importlib.util',
36 | 'C:\\Program Files\\Python38\\lib\\importlib\\util.py',
37 | 'PYMODULE'),
38 | ('email', 'C:\\Program Files\\Python38\\lib\\email\\__init__.py', 'PYMODULE'),
39 | ('email.parser',
40 | 'C:\\Program Files\\Python38\\lib\\email\\parser.py',
41 | 'PYMODULE'),
42 | ('email._policybase',
43 | 'C:\\Program Files\\Python38\\lib\\email\\_policybase.py',
44 | 'PYMODULE'),
45 | ('email.utils',
46 | 'C:\\Program Files\\Python38\\lib\\email\\utils.py',
47 | 'PYMODULE'),
48 | ('email._parseaddr',
49 | 'C:\\Program Files\\Python38\\lib\\email\\_parseaddr.py',
50 | 'PYMODULE'),
51 | ('calendar', 'C:\\Program Files\\Python38\\lib\\calendar.py', 'PYMODULE'),
52 | ('datetime', 'C:\\Program Files\\Python38\\lib\\datetime.py', 'PYMODULE'),
53 | ('_strptime', 'C:\\Program Files\\Python38\\lib\\_strptime.py', 'PYMODULE'),
54 | ('socket', 'C:\\Program Files\\Python38\\lib\\socket.py', 'PYMODULE'),
55 | ('selectors', 'C:\\Program Files\\Python38\\lib\\selectors.py', 'PYMODULE'),
56 | ('email.feedparser',
57 | 'C:\\Program Files\\Python38\\lib\\email\\feedparser.py',
58 | 'PYMODULE'),
59 | ('email.message',
60 | 'C:\\Program Files\\Python38\\lib\\email\\message.py',
61 | 'PYMODULE'),
62 | ('email.policy',
63 | 'C:\\Program Files\\Python38\\lib\\email\\policy.py',
64 | 'PYMODULE'),
65 | ('email.contentmanager',
66 | 'C:\\Program Files\\Python38\\lib\\email\\contentmanager.py',
67 | 'PYMODULE'),
68 | ('email.quoprimime',
69 | 'C:\\Program Files\\Python38\\lib\\email\\quoprimime.py',
70 | 'PYMODULE'),
71 | ('string', 'C:\\Program Files\\Python38\\lib\\string.py', 'PYMODULE'),
72 | ('email.headerregistry',
73 | 'C:\\Program Files\\Python38\\lib\\email\\headerregistry.py',
74 | 'PYMODULE'),
75 | ('email.iterators',
76 | 'C:\\Program Files\\Python38\\lib\\email\\iterators.py',
77 | 'PYMODULE'),
78 | ('email.generator',
79 | 'C:\\Program Files\\Python38\\lib\\email\\generator.py',
80 | 'PYMODULE'),
81 | ('email._encoded_words',
82 | 'C:\\Program Files\\Python38\\lib\\email\\_encoded_words.py',
83 | 'PYMODULE'),
84 | ('base64', 'C:\\Program Files\\Python38\\lib\\base64.py', 'PYMODULE'),
85 | ('getopt', 'C:\\Program Files\\Python38\\lib\\getopt.py', 'PYMODULE'),
86 | ('gettext', 'C:\\Program Files\\Python38\\lib\\gettext.py', 'PYMODULE'),
87 | ('quopri', 'C:\\Program Files\\Python38\\lib\\quopri.py', 'PYMODULE'),
88 | ('uu', 'C:\\Program Files\\Python38\\lib\\uu.py', 'PYMODULE'),
89 | ('optparse', 'C:\\Program Files\\Python38\\lib\\optparse.py', 'PYMODULE'),
90 | ('textwrap', 'C:\\Program Files\\Python38\\lib\\textwrap.py', 'PYMODULE'),
91 | ('email._header_value_parser',
92 | 'C:\\Program Files\\Python38\\lib\\email\\_header_value_parser.py',
93 | 'PYMODULE'),
94 | ('email.header',
95 | 'C:\\Program Files\\Python38\\lib\\email\\header.py',
96 | 'PYMODULE'),
97 | ('email.base64mime',
98 | 'C:\\Program Files\\Python38\\lib\\email\\base64mime.py',
99 | 'PYMODULE'),
100 | ('email.charset',
101 | 'C:\\Program Files\\Python38\\lib\\email\\charset.py',
102 | 'PYMODULE'),
103 | ('email.encoders',
104 | 'C:\\Program Files\\Python38\\lib\\email\\encoders.py',
105 | 'PYMODULE'),
106 | ('email.errors',
107 | 'C:\\Program Files\\Python38\\lib\\email\\errors.py',
108 | 'PYMODULE'),
109 | ('csv', 'C:\\Program Files\\Python38\\lib\\csv.py', 'PYMODULE'),
110 | ('importlib._bootstrap',
111 | 'C:\\Program Files\\Python38\\lib\\importlib\\_bootstrap.py',
112 | 'PYMODULE'),
113 | ('argparse', 'C:\\Program Files\\Python38\\lib\\argparse.py', 'PYMODULE'),
114 | ('ast', 'C:\\Program Files\\Python38\\lib\\ast.py', 'PYMODULE'),
115 | ('importlib.machinery',
116 | 'C:\\Program Files\\Python38\\lib\\importlib\\machinery.py',
117 | 'PYMODULE'),
118 | ('dis', 'C:\\Program Files\\Python38\\lib\\dis.py', 'PYMODULE'),
119 | ('opcode', 'C:\\Program Files\\Python38\\lib\\opcode.py', 'PYMODULE'),
120 | ('_py_abc', 'C:\\Program Files\\Python38\\lib\\_py_abc.py', 'PYMODULE'),
121 | ('stringprep', 'C:\\Program Files\\Python38\\lib\\stringprep.py', 'PYMODULE'),
122 | ('tempfile', 'C:\\Program Files\\Python38\\lib\\tempfile.py', 'PYMODULE'),
123 | ('getpass', 'C:\\Program Files\\Python38\\lib\\getpass.py', 'PYMODULE'),
124 | ('nturl2path', 'C:\\Program Files\\Python38\\lib\\nturl2path.py', 'PYMODULE'),
125 | ('ftplib', 'C:\\Program Files\\Python38\\lib\\ftplib.py', 'PYMODULE'),
126 | ('netrc', 'C:\\Program Files\\Python38\\lib\\netrc.py', 'PYMODULE'),
127 | ('shlex', 'C:\\Program Files\\Python38\\lib\\shlex.py', 'PYMODULE'),
128 | ('mimetypes', 'C:\\Program Files\\Python38\\lib\\mimetypes.py', 'PYMODULE'),
129 | ('http.cookiejar',
130 | 'C:\\Program Files\\Python38\\lib\\http\\cookiejar.py',
131 | 'PYMODULE'),
132 | ('http', 'C:\\Program Files\\Python38\\lib\\http\\__init__.py', 'PYMODULE'),
133 | ('logging',
134 | 'C:\\Program Files\\Python38\\lib\\logging\\__init__.py',
135 | 'PYMODULE'),
136 | ('pickle', 'C:\\Program Files\\Python38\\lib\\pickle.py', 'PYMODULE'),
137 | ('pprint', 'C:\\Program Files\\Python38\\lib\\pprint.py', 'PYMODULE'),
138 | ('_compat_pickle',
139 | 'C:\\Program Files\\Python38\\lib\\_compat_pickle.py',
140 | 'PYMODULE'),
141 | ('ssl', 'C:\\Program Files\\Python38\\lib\\ssl.py', 'PYMODULE'),
142 | ('http.client',
143 | 'C:\\Program Files\\Python38\\lib\\http\\client.py',
144 | 'PYMODULE'),
145 | ('hashlib', 'C:\\Program Files\\Python38\\lib\\hashlib.py', 'PYMODULE'),
146 | ('bisect', 'C:\\Program Files\\Python38\\lib\\bisect.py', 'PYMODULE'),
147 | ('tracemalloc',
148 | 'C:\\Program Files\\Python38\\lib\\tracemalloc.py',
149 | 'PYMODULE'),
150 | ('typing', 'C:\\Program Files\\Python38\\lib\\typing.py', 'PYMODULE'),
151 | ('random', 'C:\\Program Files\\Python38\\lib\\random.py', 'PYMODULE'),
152 | ('webbrowser', 'C:\\Program Files\\Python38\\lib\\webbrowser.py', 'PYMODULE'),
153 | ('glob', 'C:\\Program Files\\Python38\\lib\\glob.py', 'PYMODULE'),
154 | ('subprocess', 'C:\\Program Files\\Python38\\lib\\subprocess.py', 'PYMODULE'),
155 | ('signal', 'C:\\Program Files\\Python38\\lib\\signal.py', 'PYMODULE'),
156 | ('PySide6',
157 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\__init__.py',
158 | 'PYMODULE'),
159 | ('PySide6.support.deprecated',
160 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\support\\deprecated.py',
161 | 'PYMODULE'),
162 | ('PySide6.support',
163 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\PySide6\\support\\__init__.py',
164 | 'PYMODULE'),
165 | ('rlcompleter',
166 | 'C:\\Program Files\\Python38\\lib\\rlcompleter.py',
167 | 'PYMODULE'),
168 | ('shiboken6',
169 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\shiboken6\\__init__.py',
170 | 'PYMODULE'),
171 | ('widgets',
172 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\widgets\\__init__.py',
173 | 'PYMODULE'),
174 | ('widgets.custom_grips',
175 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\widgets\\custom_grips\\__init__.py',
176 | 'PYMODULE'),
177 | ('widgets.custom_grips.custom_grips',
178 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\widgets\\custom_grips\\custom_grips.py',
179 | 'PYMODULE'),
180 | ('modules',
181 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\modules\\__init__.py',
182 | 'PYMODULE'),
183 | ('modules.app_functions',
184 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\modules\\app_functions.py',
185 | 'PYMODULE'),
186 | ('main',
187 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\main.py',
188 | 'PYMODULE'),
189 | ('modules.ui_functions',
190 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\modules\\ui_functions.py',
191 | 'PYMODULE'),
192 | ('modules.app_settings',
193 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\modules\\app_settings.py',
194 | 'PYMODULE'),
195 | ('modules.ui_main',
196 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\modules\\ui_main.py',
197 | 'PYMODULE'),
198 | ('resources_rc',
199 | 'E:\\Code\\github\\pygt5_learn\\gui_tool_with_pyside6\\resources_rc.py',
200 | 'PYMODULE'),
201 | ('psutil',
202 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\__init__.py',
203 | 'PYMODULE'),
204 | ('psutil._psaix',
205 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_psaix.py',
206 | 'PYMODULE'),
207 | ('psutil._pssunos',
208 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_pssunos.py',
209 | 'PYMODULE'),
210 | ('psutil._psbsd',
211 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_psbsd.py',
212 | 'PYMODULE'),
213 | ('xml.etree.ElementTree',
214 | 'C:\\Program Files\\Python38\\lib\\xml\\etree\\ElementTree.py',
215 | 'PYMODULE'),
216 | ('xml.etree.cElementTree',
217 | 'C:\\Program Files\\Python38\\lib\\xml\\etree\\cElementTree.py',
218 | 'PYMODULE'),
219 | ('xml.etree.ElementInclude',
220 | 'C:\\Program Files\\Python38\\lib\\xml\\etree\\ElementInclude.py',
221 | 'PYMODULE'),
222 | ('xml.parsers.expat',
223 | 'C:\\Program Files\\Python38\\lib\\xml\\parsers\\expat.py',
224 | 'PYMODULE'),
225 | ('xml.parsers',
226 | 'C:\\Program Files\\Python38\\lib\\xml\\parsers\\__init__.py',
227 | 'PYMODULE'),
228 | ('xml', 'C:\\Program Files\\Python38\\lib\\xml\\__init__.py', 'PYMODULE'),
229 | ('xml.sax.expatreader',
230 | 'C:\\Program Files\\Python38\\lib\\xml\\sax\\expatreader.py',
231 | 'PYMODULE'),
232 | ('xml.sax.saxutils',
233 | 'C:\\Program Files\\Python38\\lib\\xml\\sax\\saxutils.py',
234 | 'PYMODULE'),
235 | ('xml.sax',
236 | 'C:\\Program Files\\Python38\\lib\\xml\\sax\\__init__.py',
237 | 'PYMODULE'),
238 | ('xml.sax.handler',
239 | 'C:\\Program Files\\Python38\\lib\\xml\\sax\\handler.py',
240 | 'PYMODULE'),
241 | ('xml.sax._exceptions',
242 | 'C:\\Program Files\\Python38\\lib\\xml\\sax\\_exceptions.py',
243 | 'PYMODULE'),
244 | ('xml.sax.xmlreader',
245 | 'C:\\Program Files\\Python38\\lib\\xml\\sax\\xmlreader.py',
246 | 'PYMODULE'),
247 | ('xml.etree.ElementPath',
248 | 'C:\\Program Files\\Python38\\lib\\xml\\etree\\ElementPath.py',
249 | 'PYMODULE'),
250 | ('xml.etree',
251 | 'C:\\Program Files\\Python38\\lib\\xml\\etree\\__init__.py',
252 | 'PYMODULE'),
253 | ('psutil._psosx',
254 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_psosx.py',
255 | 'PYMODULE'),
256 | ('psutil._pswindows',
257 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_pswindows.py',
258 | 'PYMODULE'),
259 | ('psutil._pslinux',
260 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_pslinux.py',
261 | 'PYMODULE'),
262 | ('ctypes',
263 | 'C:\\Program Files\\Python38\\lib\\ctypes\\__init__.py',
264 | 'PYMODULE'),
265 | ('ctypes._endian',
266 | 'C:\\Program Files\\Python38\\lib\\ctypes\\_endian.py',
267 | 'PYMODULE'),
268 | ('psutil._psposix',
269 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_psposix.py',
270 | 'PYMODULE'),
271 | ('psutil._compat',
272 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_compat.py',
273 | 'PYMODULE'),
274 | ('dummy_threading',
275 | 'C:\\Program Files\\Python38\\lib\\dummy_threading.py',
276 | 'PYMODULE'),
277 | ('_dummy_thread',
278 | 'C:\\Program Files\\Python38\\lib\\_dummy_thread.py',
279 | 'PYMODULE'),
280 | ('platform', 'C:\\Program Files\\Python38\\lib\\platform.py', 'PYMODULE'),
281 | ('psutil._common',
282 | 'd:\\devsoft\\env\\gui\\lib\\site-packages\\psutil\\_common.py',
283 | 'PYMODULE'),
284 | ('curses',
285 | 'C:\\Program Files\\Python38\\lib\\curses\\__init__.py',
286 | 'PYMODULE'),
287 | ('curses.has_key',
288 | 'C:\\Program Files\\Python38\\lib\\curses\\has_key.py',
289 | 'PYMODULE'),
290 | ('__future__',
291 | 'C:\\Program Files\\Python38\\lib\\__future__.py',
292 | 'PYMODULE')])
293 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/base_library.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/base_library.zip
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/localpycs/pyimod01_archive.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/localpycs/pyimod01_archive.pyc
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/localpycs/pyimod02_importers.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/localpycs/pyimod02_importers.pyc
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/localpycs/pyimod03_ctypes.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/localpycs/pyimod03_ctypes.pyc
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/localpycs/pyimod04_pywin32.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/localpycs/pyimod04_pywin32.pyc
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/localpycs/struct.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/localpycs/struct.pyc
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/main.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/main.exe
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/main.exe.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | true
28 |
29 |
30 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/main.pkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/build/main/main.pkg
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/build/main/warn-main.txt:
--------------------------------------------------------------------------------
1 |
2 | This file lists modules PyInstaller was not able to find. This does not
3 | necessarily mean this module is required for running your program. Python and
4 | Python 3rd-party packages include a lot of conditional or optional modules. For
5 | example the module 'ntpath' only exists on Windows, whereas the module
6 | 'posixpath' only exists on Posix systems.
7 |
8 | Types if import:
9 | * top-level: imported at the top-level - look at these first
10 | * conditional: imported within an if-statement
11 | * delayed: imported within a function
12 | * optional: imported within a try-except-statement
13 |
14 | IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
15 | tracking down the missing module yourself. Thanks!
16 |
17 | missing module named 'org.python' - imported by copy (optional), xml.sax (delayed, conditional)
18 | missing module named grp - imported by shutil (optional), tarfile (optional), pathlib (delayed)
19 | missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), pathlib (delayed, conditional, optional), netrc (delayed, conditional), getpass (delayed), psutil (optional), webbrowser (delayed)
20 | missing module named posix - imported by os (conditional, optional), shutil (conditional), importlib._bootstrap_external (conditional)
21 | missing module named resource - imported by posix (top-level), psutil._pslinux (optional)
22 | missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional)
23 | excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional)
24 | missing module named _scproxy - imported by urllib.request (conditional)
25 | missing module named termios - imported by getpass (optional), psutil._compat (delayed, optional)
26 | missing module named org - imported by pickle (optional)
27 | missing module named _posixsubprocess - imported by subprocess (optional)
28 | missing module named readline - imported by rlcompleter (optional)
29 | missing module named psutil._psutil_aix - imported by psutil (top-level), psutil._psaix (top-level)
30 | missing module named psutil._psutil_sunos - imported by psutil (top-level), psutil._pssunos (top-level)
31 | missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional)
32 | missing module named psutil._psutil_bsd - imported by psutil (top-level), psutil._psbsd (top-level)
33 | missing module named psutil._psutil_linux - imported by psutil (top-level), psutil._pslinux (top-level)
34 | missing module named psutil._psutil_osx - imported by psutil (conditional), psutil._psposix (conditional), psutil._psosx (top-level)
35 | missing module named fcntl - imported by psutil._compat (delayed, optional)
36 | missing module named _dummy_threading - imported by dummy_threading (optional)
37 | missing module named vms_lib - imported by platform (delayed, conditional, optional)
38 | missing module named java - imported by platform (delayed)
39 | missing module named _winreg - imported by platform (delayed, optional)
40 | missing module named _curses - imported by curses (top-level), curses.has_key (top-level)
41 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/computer_info.csv:
--------------------------------------------------------------------------------
1 | 1,2.3,53.1
2 | 2,2.8,53.1
3 | 3,4.1,53.1
4 | 1,3.1,53.0
5 | 2,5.9,53.0
6 | 3,2.1,53.0
7 | 1,1.8,53.0
8 | 2,2.9,53.0
9 | 3,1.3,53.0
10 | 4,0.5,53.0
11 | 5,3.8,53.0
12 | 6,7.4,52.9
13 | 1,33.1,50.7
14 | 2,2.3,50.6
15 | 3,4.3,50.7
16 | 4,6.0,50.5
17 | 5,1.0,50.6
18 | 6,6.2,50.5
19 | 7,1.6,50.6
20 | 8,5.2,50.5
21 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/demo.py:
--------------------------------------------------------------------------------
1 | # import psutil
2 | #
3 | #
4 | # # cpu信息
5 | # def get_cpu_info():
6 | # cpu_percent = psutil.cpu_percent(interval=1)
7 | # cpu_info = "CPU使用率:%i%%" % cpu_percent
8 | # print(cpu_info)
9 | # # return cpu_info
10 | #
11 | #
12 | # # 内存信息
13 | # def get_memory_info():
14 | # virtual_memory = psutil.virtual_memory()
15 | # used_memory = virtual_memory.used / 1024 / 1024 / 1024
16 | # free_memory = virtual_memory.free / 1024 / 1024 / 1024
17 | # memory_percent = virtual_memory.percent
18 | # memory_info = "内存使用:%0.2fG,使用率%0.1f%%,剩余内存:%0.2fG" % (used_memory, memory_percent, free_memory)
19 | # print(memory_info)
20 | # # return memory_info
21 | #
22 | #
23 | # get_cpu_info()
24 | # get_memory_info()
25 |
26 | import sys
27 | from PySide6.QtCore import QPointF
28 | from PySide6.QtGui import QPainter
29 | from PySide6.QtWidgets import QMainWindow, QApplication
30 | from PySide6.QtCharts import QChart, QChartView, QLineSeries
31 |
32 |
33 | class TestChart(QMainWindow):
34 | def __init__(self):
35 | super().__init__()
36 |
37 | self.series = QLineSeries()
38 | self.series.append(0, 6)
39 | self.series.append(2, 4)
40 | self.series.append(3, 8)
41 | self.series.append(7, 4)
42 | self.series.append(10, 5)
43 | self.series.append(QPointF(11, 1))
44 | self.series.append(QPointF(13, 3))
45 | self.series.append(QPointF(17, 6))
46 | self.series.append(QPointF(18, 3))
47 | self.series.append(QPointF(20, 2))
48 |
49 | self.chart = QChart()
50 | self.chart.legend().hide()
51 | self.chart.addSeries(self.series)
52 | self.chart.createDefaultAxes()
53 | self.chart.setTitle("Simple line chart example")
54 |
55 | self._chart_view = QChartView(self.chart)
56 | self._chart_view.setRenderHint(QPainter.Antialiasing)
57 |
58 | self.setCentralWidget(self._chart_view)
59 |
60 |
61 | if __name__ == "__main__":
62 | app = QApplication(sys.argv)
63 |
64 | window = TestChart()
65 | window.show()
66 | window.resize(440, 300)
67 | sys.exit(app.exec())
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/dist/computer_info.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/dist/computer_info.csv
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/dist/main.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/dist/main.exe
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/icon.ico
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-3d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-3d.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-4k.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-4k.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-account-logout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-account-logout.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-action-redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-action-redo.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-action-undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-action-undo.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-airplane-mode-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-airplane-mode-off.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-airplane-mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-airplane-mode.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-alarm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-alarm.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-align-center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-align-center.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-align-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-align-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-align-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-align-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-bottom-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-bottom-2.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-bottom.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-circle-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-circle-bottom.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-circle-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-circle-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-circle-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-circle-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-circle-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-circle-top.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-arrow-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-arrow-top.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-at.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-at.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-av-timer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-av-timer.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-ban.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-ban.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-battery-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-battery-0.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-battery-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-battery-3.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-battery-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-battery-5.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-battery-alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-battery-alert.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-battery-slash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-battery-slash.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-bell.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-bell.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-bluetooth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-bluetooth.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-briefcase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-briefcase.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-browser.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-calendar-check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-calendar-check.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-camera-roll.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-camera-roll.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-camera.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-caret-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-caret-bottom.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-caret-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-caret-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-caret-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-caret-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-caret-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-caret-top.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cart.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cast.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cast.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chart-line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chart-line.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chart-pie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chart-pie.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chart.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chat-bubble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chat-bubble.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-check-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-check-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-check-circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-check-circle.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-check.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-bottom.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-circle-down-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-circle-down-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-circle-left-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-circle-left-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-circle-right-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-circle-right-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-circle-up-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-circle-up-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-double-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-double-down.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-double-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-double-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-double-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-double-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-double-up-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-double-up-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-double-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-double-up.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-chevron-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-chevron-top.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-circle.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-clipboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-clipboard.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-clock.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-clone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-clone.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-closed-captioning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-closed-captioning.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cloud-download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cloud-download.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cloud-upload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cloud-upload.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cloudy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cloudy.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-code.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-coffee.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-coffee.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-comment-bubble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-comment-bubble.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-comment-square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-comment-square.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-credit-card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-credit-card.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cursor-move.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cursor-move.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cursor.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-cut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-cut.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-data-transfer-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-data-transfer-down.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-data-transfer-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-data-transfer-up.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-deaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-deaf.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-description.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-description.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-devices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-devices.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-dialpad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-dialpad.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-dog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-dog.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-door.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-door.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-double-quote-sans-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-double-quote-sans-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-double-quote-sans-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-double-quote-sans-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-drop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-drop.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-envelope-change.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-envelope-change.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-envelope-closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-envelope-closed.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-envelope-letter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-envelope-letter.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-envelope-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-envelope-open.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-equalizer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-equalizer.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-ethernet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-ethernet.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-exit-to-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-exit-to-app.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-expand-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-expand-down.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-expand-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-expand-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-expand-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-expand-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-expand-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-expand-up.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-exposure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-exposure.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-external-link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-external-link.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-face-dead.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-face-dead.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-featured-playlist.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-featured-playlist.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-file.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-find-in-page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-find-in-page.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-fingerprint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-fingerprint.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-fire.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-fire.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-flip-to-back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-flip-to-back.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-folder-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-folder-open.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-folder.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-frown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-frown.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-gamepad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-gamepad.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-hand-point-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-hand-point-down.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-hand-point-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-hand-point-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-hand-point-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-hand-point-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-hand-point-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-hand-point-up.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-hd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-hd.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-hdr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-hdr.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-headphones.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-headphones.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-heart.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-highligt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-highligt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-history.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-history.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-home.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-house.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-house.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-image-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-image-plus.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-image1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-image1.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-infinity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-infinity.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-input-power.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-input-power.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-input.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-input.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-justify-center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-justify-center.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-justify-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-justify-left.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-justify-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-justify-right.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-keyboard.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-laptop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-laptop.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-layers.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-level-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-level-down.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-level-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-level-up.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-library-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-library-add.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-library.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-library.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-lightbulb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-lightbulb.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-link-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-link-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-link-broken.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-link-broken.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-link.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-location-pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-location-pin.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-lock-locked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-lock-locked.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-lock-unlocked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-lock-unlocked.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-loop-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-loop-1.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-loop-circular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-loop-circular.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-loop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-loop.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-low-vision.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-low-vision.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-magnifying-glass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-magnifying-glass.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-map.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-eject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-eject.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-pause.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-play.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-skip-backward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-skip-backward.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-skip-forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-skip-forward.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-step-backward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-step-backward.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-step-forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-step-forward.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-media-stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-media-stop.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-medical-cross.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-medical-cross.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-meh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-meh.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-menu.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-microphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-microphone.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-minus.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mobile-landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mobile-landscape.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mobile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mobile.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mood-bad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mood-bad.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mood-good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mood-good.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mood-very-bad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mood-very-bad.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mood-very-good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mood-very-good.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-moon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-moon.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mouse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mouse.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-move.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-move.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-movie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-movie.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mug-tea.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mug-tea.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-mug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-mug.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-notes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-notes.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-options-horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-options-horizontal.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-options.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-paint-bucket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-paint-bucket.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-paper-plane.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-paper-plane.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-paperclip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-paperclip.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-paragraph.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-paragraph.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-pen-alt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-pen-alt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-pencil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-pencil.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-people.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-phone.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-pin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-pin.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-plus.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-power-standby.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-power-standby.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-print.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-print.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-rectangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-rectangle.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-reload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-reload.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-remove.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-rss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-rss.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-satelite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-satelite.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-save.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-screen-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-screen-desktop.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-screen-smartphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-screen-smartphone.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-settings.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-share-boxed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-share-boxed.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-share.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-signal-cellular-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-signal-cellular-0.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-signal-cellular-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-signal-cellular-3.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-size-grip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-size-grip.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-smile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-smile.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-speaker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-speaker.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-speech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-speech.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-speedometer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-speedometer.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-star.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-tags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-tags.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-task.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-task.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-terminal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-terminal.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-text-size.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-text-size.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-text-square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-text-square.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-text.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-thumb-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-thumb-down.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-thumb-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-thumb-up.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-transfer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-transfer.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-triangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-triangle.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-truck.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-truck.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-user-female.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-user-female.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-user-follow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-user-follow.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-user-unfollow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-user-unfollow.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-user.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-vertical-align-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-vertical-align-bottom.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-view-column.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-view-column.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-view-module.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-view-module.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-view-quilt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-view-quilt.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-view-stream.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-view-stream.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-voice-over-record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-voice-over-record.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-volume-high.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-volume-high.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-volume-low.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-volume-low.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-volume-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-volume-off.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-wallet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-wallet.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-watch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-watch.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-wifi-signal-0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-wifi-signal-0.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-wifi-signal-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-wifi-signal-1.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-wifi-signal-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-wifi-signal-2.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-wifi-signal-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-wifi-signal-4.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-wifi-signal-off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-wifi-signal-off.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-window-maximize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-window-maximize.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-window-minimize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-window-minimize.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-window-restore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-window-restore.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-wrap-text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-wrap-text.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-x-circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-x-circle.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-x.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-zoom-in.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-zoom-in.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/cil-zoom-out.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/cil-zoom-out.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/icon_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/icon_close.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/icon_maximize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/icon_maximize.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/icon_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/icon_menu.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/icon_minimize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/icon_minimize.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/icon_restore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/icon_restore.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/icons/icon_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/icons/icon_settings.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/images/PyDracula.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/images/PyDracula.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/images/PyDracula_horizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/images/PyDracula_horizontal.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/images/images/PyDracula_vertical.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/images/images/PyDracula_vertical.png
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/main.py:
--------------------------------------------------------------------------------
1 | # ///////////////////////////////////////////////////////////////
2 | #
3 | # BY: WANDERSON M.PIMENTA
4 | # PROJECT MADE WITH: Qt Designer and PySide6
5 | # V: 1.0.0
6 | #
7 | # This project can be used freely for all uses, as long as they maintain the
8 | # respective credits only in the Python scripts, any information in the visual
9 | # interface (GUI) can be modified without any implication.
10 | #
11 | # There are limitations on Qt licenses if you want to use your products
12 | # commercially, I recommend reading them on the official website:
13 | # https://doc.qt.io/qtforpython/licenses.html
14 | #
15 | # ///////////////////////////////////////////////////////////////
16 |
17 | import sys
18 | import os
19 | import time
20 |
21 | import psutil
22 |
23 | # IMPORT / GUI AND MODULES AND WIDGETS
24 | # ///////////////////////////////////////////////////////////////
25 | from modules import *
26 | from widgets import *
27 | from PySide6.QtCharts import QChart, QLineSeries, QValueAxis
28 |
29 | os.environ["QT_FONT_DPI"] = "96" # FIX Problem for High DPI and Scale above 100%
30 |
31 | # SET AS GLOBAL WIDGETS
32 | # ///////////////////////////////////////////////////////////////
33 | widgets = None
34 |
35 |
36 | class NewThread(QThread):
37 | # 自定义信号声明
38 | # 使用自定义信号和UI主线程通讯,参数是发送信号时附带参数的数据类型,可以是str、int、list等
39 | finishSignal = Signal(str)
40 |
41 | # 带一个参数t
42 | def __init__(self, parent=None):
43 | super(NewThread, self).__init__(parent)
44 |
45 | # run函数是子线程中的操作,线程启动后开始执行
46 | if os.path.exists(f'./computer_info.csv'):
47 | pass
48 | else:
49 | with open(r'./computer_info.csv', 'w') as f:
50 | pass
51 |
52 | def run(self):
53 | timer = 0
54 | while True:
55 | timer += 1
56 | cpu_percent = psutil.cpu_percent(interval=1)
57 | cpu_info = cpu_percent
58 | virtual_memory = psutil.virtual_memory()
59 | memory_percent = virtual_memory.percent
60 | with open(r'./computer_info.csv', 'a') as f:
61 | f.write(f"{timer},{cpu_info},{memory_percent}\n")
62 | time.sleep(2)
63 | # 发射自定义信号
64 | # 通过emit函数将参数i传递给主线程,触发自定义信号
65 | self.finishSignal.emit("1") # 注意这里与_signal = pyqtSignal(str)中的类型相同
66 |
67 |
68 | class MainWindow(QMainWindow):
69 | def __init__(self):
70 | QMainWindow.__init__(self)
71 |
72 | # SET AS GLOBAL WIDGETS
73 | # ///////////////////////////////////////////////////////////////
74 | self.ui = Ui_MainWindow()
75 | self.ui.setupUi(self)
76 | global widgets
77 | widgets = self.ui
78 |
79 | # USE CUSTOM TITLE BAR | USE AS "False" FOR MAC OR LINUX
80 | # ///////////////////////////////////////////////////////////////
81 | Settings.ENABLE_CUSTOM_TITLE_BAR = True
82 |
83 | # APP NAME
84 | # ///////////////////////////////////////////////////////////////
85 | title = "工具百宝箱"
86 | description = "工具百宝箱"
87 | # APPLY TEXTS
88 | self.setWindowTitle(title)
89 | widgets.titleRightInfo.setText(description)
90 |
91 | # TOGGLE MENU
92 | # ///////////////////////////////////////////////////////////////
93 | widgets.toggleButton.clicked.connect(lambda: UIFunctions.toggleMenu(self, True))
94 |
95 | # SET UI DEFINITIONS
96 | # ///////////////////////////////////////////////////////////////
97 | UIFunctions.uiDefinitions(self)
98 |
99 | # QTableWidget PARAMETERS
100 | # ///////////////////////////////////////////////////////////////
101 | widgets.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
102 |
103 | # BUTTONS CLICK
104 | # ///////////////////////////////////////////////////////////////
105 |
106 | # LEFT MENUS
107 | widgets.btn_home.clicked.connect(self.buttonClick)
108 | widgets.btn_widgets.clicked.connect(self.buttonClick)
109 | widgets.btn_new.clicked.connect(self.buttonClick)
110 | widgets.btn_save.clicked.connect(self.buttonClick)
111 | # 新增切换皮肤功能
112 | widgets.btn_message.clicked.connect(self.buttonClick)
113 | # 新增电脑数据分析功能
114 | widgets.btn_computer.clicked.connect(self.buttonClick)
115 | widgets.computer_info_start.clicked.connect(self.start_computer_info)
116 |
117 | # widgets.computer_info_start.clicked.connect(get_computer_info) # 此方法会导致页面卡顿
118 | # 清理电脑数据
119 | widgets.computer_info_clear.clicked.connect(self.clear_computer_info)
120 |
121 | # 打开说明书
122 | widgets.pushButton_2.clicked.connect(self.open_guide_book)
123 | # 打开网址
124 | widgets.pushButton_3.clicked.connect(self.open_web)
125 | # 切换图片
126 | widgets.pushButton_4.clicked.connect(self.change_pic)
127 |
128 | # EXTRA LEFT BOX
129 | def openCloseLeftBox():
130 | UIFunctions.toggleLeftBox(self, True)
131 |
132 | widgets.toggleLeftBox.clicked.connect(openCloseLeftBox)
133 | widgets.extraCloseColumnBtn.clicked.connect(openCloseLeftBox)
134 |
135 | # EXTRA RIGHT BOX
136 | def openCloseRightBox():
137 | UIFunctions.toggleRightBox(self, True)
138 |
139 | widgets.settingsTopBtn.clicked.connect(openCloseRightBox)
140 |
141 | # SHOW APP
142 | # ///////////////////////////////////////////////////////////////
143 | self.show()
144 |
145 | # SET CUSTOM THEME
146 | # ///////////////////////////////////////////////////////////////
147 | # 路径冻结,防止打包成exe后路径错乱
148 | if getattr(sys, 'frozen', False):
149 | absPath = os.path.dirname(os.path.abspath(sys.executable))
150 | elif __file__:
151 | absPath = os.path.dirname(os.path.abspath(__file__))
152 | useCustomTheme = True
153 | self.useCustomTheme = useCustomTheme
154 | self.absPath = absPath
155 | themeFile = os.path.abspath(os.path.join(absPath, "themes\py_dracula_light.qss"))
156 | # SET THEME AND HACKS
157 | if useCustomTheme:
158 | # LOAD AND APPLY STYLE
159 | UIFunctions.theme(self, themeFile, True)
160 |
161 | # SET HACKS
162 | AppFunctions.setThemeHack(self)
163 |
164 | # SET HOME PAGE AND SELECT MENU
165 | # ///////////////////////////////////////////////////////////////
166 | widgets.stackedWidget.setCurrentWidget(widgets.home)
167 | widgets.btn_home.setStyleSheet(UIFunctions.selectMenu(widgets.btn_home.styleSheet()))
168 |
169 | # BUTTONS CLICK
170 | # Post here your functions for clicked buttons
171 | # ///////////////////////////////////////////////////////////////
172 | def buttonClick(self):
173 | # GET BUTTON CLICKED
174 | btn = self.sender()
175 | btnName = btn.objectName()
176 |
177 | # SHOW HOME PAGE
178 | if btnName == "btn_home":
179 | widgets.stackedWidget.setCurrentWidget(widgets.home)
180 | UIFunctions.resetStyle(self, btnName)
181 | btn.setStyleSheet(UIFunctions.selectMenu(btn.styleSheet()))
182 |
183 | # SHOW WIDGETS PAGE
184 | if btnName == "btn_widgets":
185 | widgets.stackedWidget.setCurrentWidget(widgets.widgets)
186 | UIFunctions.resetStyle(self, btnName)
187 | btn.setStyleSheet(UIFunctions.selectMenu(btn.styleSheet()))
188 |
189 | # SHOW NEW PAGE
190 | if btnName == "btn_new":
191 | widgets.stackedWidget.setCurrentWidget(widgets.new_page) # SET PAGE
192 | UIFunctions.resetStyle(self, btnName) # RESET ANOTHERS BUTTONS SELECTED
193 | btn.setStyleSheet(UIFunctions.selectMenu(btn.styleSheet())) # SELECT MENU
194 |
195 | if btnName == "btn_save":
196 | # print("Save BTN clicked!")
197 | QMessageBox.information(self, "提示", "该功能暂未实现", QMessageBox.Yes)
198 |
199 | if btnName == "btn_message":
200 | if self.useCustomTheme:
201 | themeFile = os.path.abspath(os.path.join(self.absPath, "themes\py_dracula_dark.qss"))
202 | UIFunctions.theme(self, themeFile, True)
203 | # SET HACKS
204 | AppFunctions.setThemeHack(self)
205 | self.useCustomTheme = False
206 | else:
207 | themeFile = os.path.abspath(os.path.join(self.absPath, "themes\py_dracula_light.qss"))
208 | UIFunctions.theme(self, themeFile, True)
209 | # SET HACKS
210 | AppFunctions.setThemeHack(self)
211 | self.useCustomTheme = True
212 |
213 | # SHOW NEW PAGE
214 | if btnName == "btn_computer":
215 | widgets.stackedWidget.setCurrentWidget(widgets.computer_info) # SET PAGE
216 | UIFunctions.resetStyle(self, btnName) # RESET ANOTHERS BUTTONS SELECTED
217 | btn.setStyleSheet(UIFunctions.selectMenu(btn.styleSheet())) # SELECT MENU
218 |
219 | self.seriesS = QLineSeries()
220 | self.seriesL = QLineSeries()
221 | self.seriesS.setName("cpu")
222 | self.seriesL.setName("memory")
223 | # PRINT BTN NAME
224 | print(f'Button "{btnName}" pressed!')
225 |
226 | # RESIZE EVENTS
227 | # ///////////////////////////////////////////////////////////////
228 | def resizeEvent(self, event):
229 | # Update Size Grips
230 | UIFunctions.resize_grips(self)
231 |
232 | # MOUSE CLICK EVENTS
233 | # ///////////////////////////////////////////////////////////////
234 | def mousePressEvent(self, event):
235 | # SET DRAG POS WINDOW
236 | self.dragPos = event.globalPos()
237 |
238 | # PRINT MOUSE EVENTS
239 | if event.buttons() == Qt.LeftButton:
240 | print('Mouse click: LEFT CLICK')
241 | if event.buttons() == Qt.RightButton:
242 | print('Mouse click: RIGHT CLICK')
243 |
244 | def start_computer_info(self):
245 | """
246 | 开始获取电脑数据
247 | :return:
248 | """
249 | # 开始分析记录电脑数据,需持续获取,然后分析
250 | self.thread1 = NewThread() # 实例化一个线程
251 | # 将线程thread的信号finishSignal和UI主线程中的槽函数data_display进行连接
252 | self.thread1.finishSignal.connect(self.data_display)
253 | # 启动线程,执行线程类中run函数
254 | self.thread1.start()
255 |
256 | def data_display(self, str_):
257 | """
258 | 电脑信息的数据展示
259 | :return:
260 | """
261 | # 获取已经记录好的数据并展示
262 | # 设置一个flag
263 | with open(r'./computer_info.csv', 'r') as f:
264 | reader = f.readlines()
265 | reader_last = reader[-1].replace('\n', '').split(',')
266 | # 横坐标
267 | col = int(reader_last[0])
268 | # cpu
269 | cpu = float(reader_last[1])
270 | # 内存
271 | memory = float(reader_last[2])
272 |
273 | self.seriesS.append(col, cpu)
274 | self.seriesL.append(col, memory)
275 | self.chart = QChart() # 创建 Chart
276 | self.chart.setTitle("设备资源图")
277 | self.chart.addSeries(self.seriesS)
278 | self.chart.addSeries(self.seriesL)
279 | self.chart.createDefaultAxes()
280 | widgets.graphicsView.setChart(self.chart)
281 |
282 | def clear_computer_info(self):
283 | """
284 | 清除设备表格信息
285 | :return:
286 | """
287 | # 更改设置的flag
288 | self.seriesS.clear()
289 | self.seriesL.clear()
290 | self.chart.addSeries(self.seriesS)
291 | self.chart.addSeries(self.seriesL)
292 |
293 | def open_guide_book(self):
294 | import webbrowser
295 | webbrowser.open("说明书" + '.docx')
296 |
297 | def open_web(self):
298 | import webbrowser
299 | webbrowser.open('www.baidu.com')
300 |
301 | def change_pic(self):
302 | url_list = [
303 | "./1.jpg",
304 | "./2.jpg",
305 | "./3.jpg",
306 | "./4.jpg",
307 | "./5.jpg",
308 | ]
309 | import random
310 | index = random.randint(0, 4)
311 | lb1 = widgets.label
312 | pix = QPixmap(url_list[index]).scaled(lb1.size(), aspectMode=Qt.KeepAspectRatio)
313 | lb1.setPixmap(pix)
314 | lb1.repaint()
315 |
316 |
317 | if __name__ == "__main__":
318 | app = QApplication(sys.argv)
319 | app.setWindowIcon(QIcon("icon.ico"))
320 | window = MainWindow()
321 | sys.exit(app.exec())
322 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/main.spec:
--------------------------------------------------------------------------------
1 | # -*- mode: python ; coding: utf-8 -*-
2 |
3 |
4 | block_cipher = None
5 |
6 |
7 | a = Analysis(
8 | ['main.py'],
9 | pathex=[],
10 | binaries=[],
11 | datas=[],
12 | hiddenimports=[],
13 | hookspath=[],
14 | hooksconfig={},
15 | runtime_hooks=[],
16 | excludes=[],
17 | win_no_prefer_redirects=False,
18 | win_private_assemblies=False,
19 | cipher=block_cipher,
20 | noarchive=False,
21 | )
22 | pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
23 |
24 | exe = EXE(
25 | pyz,
26 | a.scripts,
27 | [],
28 | exclude_binaries=True,
29 | name='main',
30 | debug=False,
31 | bootloader_ignore_signals=False,
32 | strip=False,
33 | upx=True,
34 | console=True,
35 | disable_windowed_traceback=False,
36 | argv_emulation=False,
37 | target_arch=None,
38 | codesign_identity=None,
39 | entitlements_file=None,
40 | )
41 | coll = COLLECT(
42 | exe,
43 | a.binaries,
44 | a.zipfiles,
45 | a.datas,
46 | strip=False,
47 | upx=True,
48 | upx_exclude=[],
49 | name='main',
50 | )
51 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/modules/__init__.py:
--------------------------------------------------------------------------------
1 | # ///////////////////////////////////////////////////////////////
2 | #
3 | # BY: WANDERSON M.PIMENTA
4 | # PROJECT MADE WITH: Qt Designer and PySide6
5 | # V: 1.0.0
6 | #
7 | # This project can be used freely for all uses, as long as they maintain the
8 | # respective credits only in the Python scripts, any information in the visual
9 | # interface (GUI) can be modified without any implication.
10 | #
11 | # There are limitations on Qt licenses if you want to use your products
12 | # commercially, I recommend reading them on the official website:
13 | # https://doc.qt.io/qtforpython/licenses.html
14 | #
15 | # ///////////////////////////////////////////////////////////////
16 | from PySide6.QtCore import *
17 | from PySide6.QtGui import *
18 | from PySide6.QtWidgets import *
19 |
20 | # GUI FILE
21 | from . ui_main import Ui_MainWindow
22 |
23 | # APP SETTINGS
24 | from . app_settings import Settings
25 |
26 | # IMPORT FUNCTIONS
27 | from . ui_functions import *
28 |
29 | # APP FUNCTIONS
30 | from . app_functions import *
31 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/modules/app_functions.py:
--------------------------------------------------------------------------------
1 | # ///////////////////////////////////////////////////////////////
2 | #
3 | # BY: WANDERSON M.PIMENTA
4 | # PROJECT MADE WITH: Qt Designer and PySide6
5 | # V: 1.0.0
6 | #
7 | # This project can be used freely for all uses, as long as they maintain the
8 | # respective credits only in the Python scripts, any information in the visual
9 | # interface (GUI) can be modified without any implication.
10 | #
11 | # There are limitations on Qt licenses if you want to use your products
12 | # commercially, I recommend reading them on the official website:
13 | # https://doc.qt.io/qtforpython/licenses.html
14 | #
15 | # ///////////////////////////////////////////////////////////////
16 |
17 | # MAIN FILE
18 | # ///////////////////////////////////////////////////////////////
19 | from main import *
20 |
21 | # WITH ACCESS TO MAIN WINDOW WIDGETS
22 | # ///////////////////////////////////////////////////////////////
23 | class AppFunctions(MainWindow):
24 | def setThemeHack(self):
25 | Settings.BTN_LEFT_BOX_COLOR = "background-color: #495474;"
26 | Settings.BTN_RIGHT_BOX_COLOR = "background-color: #495474;"
27 | Settings.MENU_SELECTED_STYLESHEET = MENU_SELECTED_STYLESHEET = """
28 | border-left: 22px solid qlineargradient(spread:pad, x1:0.034, y1:0, x2:0.216, y2:0, stop:0.499 rgba(255, 121, 198, 255), stop:0.5 rgba(85, 170, 255, 0));
29 | background-color: #566388;
30 | """
31 |
32 | # SET MANUAL STYLES
33 | self.ui.lineEdit.setStyleSheet("background-color: #6272a4;")
34 | self.ui.pushButton.setStyleSheet("background-color: #6272a4;")
35 | self.ui.plainTextEdit.setStyleSheet("background-color: #6272a4;")
36 | self.ui.tableWidget.setStyleSheet("QScrollBar:vertical { background: #6272a4; } QScrollBar:horizontal { background: #6272a4; }")
37 | self.ui.scrollArea.setStyleSheet("QScrollBar:vertical { background: #6272a4; } QScrollBar:horizontal { background: #6272a4; }")
38 | self.ui.comboBox.setStyleSheet("background-color: #6272a4;")
39 | self.ui.horizontalScrollBar.setStyleSheet("background-color: #6272a4;")
40 | self.ui.verticalScrollBar.setStyleSheet("background-color: #6272a4;")
41 | self.ui.commandLinkButton.setStyleSheet("color: #ff79c6;")
42 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/modules/app_settings.py:
--------------------------------------------------------------------------------
1 | class Settings():
2 | # APP SETTINGS
3 | # ///////////////////////////////////////////////////////////////
4 | ENABLE_CUSTOM_TITLE_BAR = True
5 | MENU_WIDTH = 240
6 | LEFT_BOX_WIDTH = 240
7 | RIGHT_BOX_WIDTH = 240
8 | TIME_ANIMATION = 500
9 |
10 | # BTNS LEFT AND RIGHT BOX COLORS
11 | BTN_LEFT_BOX_COLOR = "background-color: rgb(44, 49, 58);"
12 | BTN_RIGHT_BOX_COLOR = "background-color: #ff79c6;"
13 |
14 | # MENU SELECTED STYLESHEET
15 | MENU_SELECTED_STYLESHEET = """
16 | border-left: 22px solid qlineargradient(spread:pad, x1:0.034, y1:0, x2:0.216, y2:0, stop:0.499 rgba(255, 121, 198, 255), stop:0.5 rgba(85, 170, 255, 0));
17 | background-color: rgb(40, 44, 52);
18 | """
19 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/modules/ui_functions.py:
--------------------------------------------------------------------------------
1 | # ///////////////////////////////////////////////////////////////
2 | #
3 | # BY: WANDERSON M.PIMENTA
4 | # PROJECT MADE WITH: Qt Designer and PySide6
5 | # V: 1.0.0
6 | #
7 | # This project can be used freely for all uses, as long as they maintain the
8 | # respective credits only in the Python scripts, any information in the visual
9 | # interface (GUI) can be modified without any implication.
10 | #
11 | # There are limitations on Qt licenses if you want to use your products
12 | # commercially, I recommend reading them on the official website:
13 | # https://doc.qt.io/qtforpython/licenses.html
14 | #
15 | # ///////////////////////////////////////////////////////////////
16 |
17 | # MAIN FILE
18 | # ///////////////////////////////////////////////////////////////
19 | from main import *
20 |
21 | # GLOBALS
22 | # ///////////////////////////////////////////////////////////////
23 | GLOBAL_STATE = False
24 | GLOBAL_TITLE_BAR = True
25 |
26 | class UIFunctions(MainWindow):
27 | # MAXIMIZE/RESTORE
28 | # ///////////////////////////////////////////////////////////////
29 | def maximize_restore(self):
30 | global GLOBAL_STATE
31 | status = GLOBAL_STATE
32 | if status == False:
33 | self.showMaximized()
34 | GLOBAL_STATE = True
35 | self.ui.appMargins.setContentsMargins(0, 0, 0, 0)
36 | self.ui.maximizeRestoreAppBtn.setToolTip("Restore")
37 | self.ui.maximizeRestoreAppBtn.setIcon(QIcon(u":/icons/images/icons/icon_restore.png"))
38 | self.ui.frame_size_grip.hide()
39 | self.left_grip.hide()
40 | self.right_grip.hide()
41 | self.top_grip.hide()
42 | self.bottom_grip.hide()
43 | else:
44 | GLOBAL_STATE = False
45 | self.showNormal()
46 | self.resize(self.width()+1, self.height()+1)
47 | self.ui.appMargins.setContentsMargins(10, 10, 10, 10)
48 | self.ui.maximizeRestoreAppBtn.setToolTip("Maximize")
49 | self.ui.maximizeRestoreAppBtn.setIcon(QIcon(u":/icons/images/icons/icon_maximize.png"))
50 | self.ui.frame_size_grip.show()
51 | self.left_grip.show()
52 | self.right_grip.show()
53 | self.top_grip.show()
54 | self.bottom_grip.show()
55 |
56 | # RETURN STATUS
57 | # ///////////////////////////////////////////////////////////////
58 | def returStatus(self):
59 | return GLOBAL_STATE
60 |
61 | # SET STATUS
62 | # ///////////////////////////////////////////////////////////////
63 | def setStatus(self, status):
64 | global GLOBAL_STATE
65 | GLOBAL_STATE = status
66 |
67 | # TOGGLE MENU
68 | # ///////////////////////////////////////////////////////////////
69 | def toggleMenu(self, enable):
70 | if enable:
71 | # GET WIDTH
72 | width = self.ui.leftMenuBg.width()
73 | maxExtend = Settings.MENU_WIDTH
74 | standard = 60
75 |
76 | # SET MAX WIDTH
77 | if width == 60:
78 | widthExtended = maxExtend
79 | else:
80 | widthExtended = standard
81 |
82 | # ANIMATION
83 | self.animation = QPropertyAnimation(self.ui.leftMenuBg, b"minimumWidth")
84 | self.animation.setDuration(Settings.TIME_ANIMATION)
85 | self.animation.setStartValue(width)
86 | self.animation.setEndValue(widthExtended)
87 | self.animation.setEasingCurve(QEasingCurve.InOutQuart)
88 | self.animation.start()
89 |
90 | # TOGGLE LEFT BOX
91 | # ///////////////////////////////////////////////////////////////
92 | def toggleLeftBox(self, enable):
93 | if enable:
94 | # GET WIDTH
95 | width = self.ui.extraLeftBox.width()
96 | widthRightBox = self.ui.extraRightBox.width()
97 | maxExtend = Settings.LEFT_BOX_WIDTH
98 | color = Settings.BTN_LEFT_BOX_COLOR
99 | standard = 0
100 |
101 | # GET BTN STYLE
102 | style = self.ui.toggleLeftBox.styleSheet()
103 |
104 | # SET MAX WIDTH
105 | if width == 0:
106 | widthExtended = maxExtend
107 | # SELECT BTN
108 | self.ui.toggleLeftBox.setStyleSheet(style + color)
109 | if widthRightBox != 0:
110 | style = self.ui.settingsTopBtn.styleSheet()
111 | self.ui.settingsTopBtn.setStyleSheet(style.replace(Settings.BTN_RIGHT_BOX_COLOR, ''))
112 | else:
113 | widthExtended = standard
114 | # RESET BTN
115 | self.ui.toggleLeftBox.setStyleSheet(style.replace(color, ''))
116 |
117 | UIFunctions.start_box_animation(self, width, widthRightBox, "left")
118 |
119 | # TOGGLE RIGHT BOX
120 | # ///////////////////////////////////////////////////////////////
121 | def toggleRightBox(self, enable):
122 | if enable:
123 | # GET WIDTH
124 | width = self.ui.extraRightBox.width()
125 | widthLeftBox = self.ui.extraLeftBox.width()
126 | maxExtend = Settings.RIGHT_BOX_WIDTH
127 | color = Settings.BTN_RIGHT_BOX_COLOR
128 | standard = 0
129 |
130 | # GET BTN STYLE
131 | style = self.ui.settingsTopBtn.styleSheet()
132 |
133 | # SET MAX WIDTH
134 | if width == 0:
135 | widthExtended = maxExtend
136 | # SELECT BTN
137 | self.ui.settingsTopBtn.setStyleSheet(style + color)
138 | if widthLeftBox != 0:
139 | style = self.ui.toggleLeftBox.styleSheet()
140 | self.ui.toggleLeftBox.setStyleSheet(style.replace(Settings.BTN_LEFT_BOX_COLOR, ''))
141 | else:
142 | widthExtended = standard
143 | # RESET BTN
144 | self.ui.settingsTopBtn.setStyleSheet(style.replace(color, ''))
145 |
146 | UIFunctions.start_box_animation(self, widthLeftBox, width, "right")
147 |
148 | def start_box_animation(self, left_box_width, right_box_width, direction):
149 | right_width = 0
150 | left_width = 0
151 |
152 | # Check values
153 | if left_box_width == 0 and direction == "left":
154 | left_width = 240
155 | else:
156 | left_width = 0
157 | # Check values
158 | if right_box_width == 0 and direction == "right":
159 | right_width = 240
160 | else:
161 | right_width = 0
162 |
163 | # ANIMATION LEFT BOX
164 | self.left_box = QPropertyAnimation(self.ui.extraLeftBox, b"minimumWidth")
165 | self.left_box.setDuration(Settings.TIME_ANIMATION)
166 | self.left_box.setStartValue(left_box_width)
167 | self.left_box.setEndValue(left_width)
168 | self.left_box.setEasingCurve(QEasingCurve.InOutQuart)
169 |
170 | # ANIMATION RIGHT BOX
171 | self.right_box = QPropertyAnimation(self.ui.extraRightBox, b"minimumWidth")
172 | self.right_box.setDuration(Settings.TIME_ANIMATION)
173 | self.right_box.setStartValue(right_box_width)
174 | self.right_box.setEndValue(right_width)
175 | self.right_box.setEasingCurve(QEasingCurve.InOutQuart)
176 |
177 | # GROUP ANIMATION
178 | self.group = QParallelAnimationGroup()
179 | self.group.addAnimation(self.left_box)
180 | self.group.addAnimation(self.right_box)
181 | self.group.start()
182 |
183 | # SELECT/DESELECT MENU
184 | # ///////////////////////////////////////////////////////////////
185 | # SELECT
186 | def selectMenu(getStyle):
187 | select = getStyle + Settings.MENU_SELECTED_STYLESHEET
188 | return select
189 |
190 | # DESELECT
191 | def deselectMenu(getStyle):
192 | deselect = getStyle.replace(Settings.MENU_SELECTED_STYLESHEET, "")
193 | return deselect
194 |
195 | # START SELECTION
196 | def selectStandardMenu(self, widget):
197 | for w in self.ui.topMenu.findChildren(QPushButton):
198 | if w.objectName() == widget:
199 | w.setStyleSheet(UIFunctions.selectMenu(w.styleSheet()))
200 |
201 | # RESET SELECTION
202 | def resetStyle(self, widget):
203 | for w in self.ui.topMenu.findChildren(QPushButton):
204 | if w.objectName() != widget:
205 | w.setStyleSheet(UIFunctions.deselectMenu(w.styleSheet()))
206 |
207 | # IMPORT THEMES FILES QSS/CSS
208 | # ///////////////////////////////////////////////////////////////
209 | def theme(self, file, useCustomTheme):
210 | if useCustomTheme:
211 | str = open(file, 'r').read()
212 | self.ui.styleSheet.setStyleSheet(str)
213 |
214 | # START - GUI DEFINITIONS
215 | # ///////////////////////////////////////////////////////////////
216 | def uiDefinitions(self):
217 | def dobleClickMaximizeRestore(event):
218 | # IF DOUBLE CLICK CHANGE STATUS
219 | if event.type() == QEvent.MouseButtonDblClick:
220 | QTimer.singleShot(250, lambda: UIFunctions.maximize_restore(self))
221 | self.ui.titleRightInfo.mouseDoubleClickEvent = dobleClickMaximizeRestore
222 |
223 | if Settings.ENABLE_CUSTOM_TITLE_BAR:
224 | #STANDARD TITLE BAR
225 | self.setWindowFlags(Qt.FramelessWindowHint)
226 | self.setAttribute(Qt.WA_TranslucentBackground)
227 |
228 | # MOVE WINDOW / MAXIMIZE / RESTORE
229 | def moveWindow(event):
230 | # IF MAXIMIZED CHANGE TO NORMAL
231 | if UIFunctions.returStatus(self):
232 | UIFunctions.maximize_restore(self)
233 | # MOVE WINDOW
234 | if event.buttons() == Qt.LeftButton:
235 | self.move(self.pos() + event.globalPos() - self.dragPos)
236 | self.dragPos = event.globalPos()
237 | event.accept()
238 | self.ui.titleRightInfo.mouseMoveEvent = moveWindow
239 |
240 | # CUSTOM GRIPS
241 | self.left_grip = CustomGrip(self, Qt.LeftEdge, True)
242 | self.right_grip = CustomGrip(self, Qt.RightEdge, True)
243 | self.top_grip = CustomGrip(self, Qt.TopEdge, True)
244 | self.bottom_grip = CustomGrip(self, Qt.BottomEdge, True)
245 |
246 | else:
247 | self.ui.appMargins.setContentsMargins(0, 0, 0, 0)
248 | self.ui.minimizeAppBtn.hide()
249 | self.ui.maximizeRestoreAppBtn.hide()
250 | self.ui.closeAppBtn.hide()
251 | self.ui.frame_size_grip.hide()
252 |
253 | # DROP SHADOW
254 | self.shadow = QGraphicsDropShadowEffect(self)
255 | self.shadow.setBlurRadius(17)
256 | self.shadow.setXOffset(0)
257 | self.shadow.setYOffset(0)
258 | self.shadow.setColor(QColor(0, 0, 0, 150))
259 | self.ui.bgApp.setGraphicsEffect(self.shadow)
260 |
261 | # RESIZE WINDOW
262 | self.sizegrip = QSizeGrip(self.ui.frame_size_grip)
263 | self.sizegrip.setStyleSheet("width: 20px; height: 20px; margin 0px; padding: 0px;")
264 |
265 | # MINIMIZE
266 | self.ui.minimizeAppBtn.clicked.connect(lambda: self.showMinimized())
267 |
268 | # MAXIMIZE/RESTORE
269 | self.ui.maximizeRestoreAppBtn.clicked.connect(lambda: UIFunctions.maximize_restore(self))
270 |
271 | # CLOSE APPLICATION
272 | self.ui.closeAppBtn.clicked.connect(lambda: self.close())
273 |
274 | def resize_grips(self):
275 | if Settings.ENABLE_CUSTOM_TITLE_BAR:
276 | self.left_grip.setGeometry(0, 10, 10, self.height())
277 | self.right_grip.setGeometry(self.width() - 10, 10, 10, self.height())
278 | self.top_grip.setGeometry(0, 0, self.width(), 10)
279 | self.bottom_grip.setGeometry(0, self.height() - 10, self.width(), 10)
280 |
281 | # ///////////////////////////////////////////////////////////////
282 | # END - GUI DEFINITIONS
283 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/resources.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | images/images/PyDracula.png
4 | images/images/PyDracula_vertical.png
5 |
6 |
7 | images/icons/cil-3d.png
8 | images/icons/cil-4k.png
9 | images/icons/cil-account-logout.png
10 | images/icons/cil-action-redo.png
11 | images/icons/cil-action-undo.png
12 | images/icons/cil-airplane-mode.png
13 | images/icons/cil-airplane-mode-off.png
14 | images/icons/cil-alarm.png
15 | images/icons/cil-align-center.png
16 | images/icons/cil-align-left.png
17 | images/icons/cil-align-right.png
18 | images/icons/cil-arrow-bottom.png
19 | images/icons/cil-arrow-bottom-2.png
20 | images/icons/cil-arrow-circle-bottom.png
21 | images/icons/cil-arrow-circle-left.png
22 | images/icons/cil-arrow-circle-right.png
23 | images/icons/cil-arrow-circle-top.png
24 | images/icons/cil-arrow-left.png
25 | images/icons/cil-arrow-right.png
26 | images/icons/cil-arrow-top.png
27 | images/icons/cil-at.png
28 | images/icons/cil-av-timer.png
29 | images/icons/cil-ban.png
30 | images/icons/cil-battery-0.png
31 | images/icons/cil-battery-3.png
32 | images/icons/cil-battery-5.png
33 | images/icons/cil-battery-alert.png
34 | images/icons/cil-battery-slash.png
35 | images/icons/cil-bell.png
36 | images/icons/cil-bluetooth.png
37 | images/icons/cil-briefcase.png
38 | images/icons/cil-browser.png
39 | images/icons/cil-calendar-check.png
40 | images/icons/cil-camera.png
41 | images/icons/cil-camera-roll.png
42 | images/icons/cil-caret-bottom.png
43 | images/icons/cil-caret-left.png
44 | images/icons/cil-caret-right.png
45 | images/icons/cil-caret-top.png
46 | images/icons/cil-cart.png
47 | images/icons/cil-cast.png
48 | images/icons/cil-chart.png
49 | images/icons/cil-chart-line.png
50 | images/icons/cil-chart-pie.png
51 | images/icons/cil-chat-bubble.png
52 | images/icons/cil-check.png
53 | images/icons/cil-check-alt.png
54 | images/icons/cil-check-circle.png
55 | images/icons/cil-chevron-bottom.png
56 | images/icons/cil-chevron-circle-down-alt.png
57 | images/icons/cil-chevron-circle-left-alt.png
58 | images/icons/cil-chevron-circle-right-alt.png
59 | images/icons/cil-chevron-circle-up-alt.png
60 | images/icons/cil-chevron-double-down.png
61 | images/icons/cil-chevron-double-left.png
62 | images/icons/cil-chevron-double-right.png
63 | images/icons/cil-chevron-double-up.png
64 | images/icons/cil-chevron-double-up-alt.png
65 | images/icons/cil-chevron-left.png
66 | images/icons/cil-chevron-right.png
67 | images/icons/cil-chevron-top.png
68 | images/icons/cil-circle.png
69 | images/icons/cil-clipboard.png
70 | images/icons/cil-clock.png
71 | images/icons/cil-clone.png
72 | images/icons/cil-closed-captioning.png
73 | images/icons/cil-cloud-download.png
74 | images/icons/cil-cloud-upload.png
75 | images/icons/cil-cloudy.png
76 | images/icons/cil-code.png
77 | images/icons/cil-coffee.png
78 | images/icons/cil-comment-bubble.png
79 | images/icons/cil-comment-square.png
80 | images/icons/cil-credit-card.png
81 | images/icons/cil-cursor.png
82 | images/icons/cil-cursor-move.png
83 | images/icons/cil-cut.png
84 | images/icons/cil-data-transfer-down.png
85 | images/icons/cil-data-transfer-up.png
86 | images/icons/cil-deaf.png
87 | images/icons/cil-description.png
88 | images/icons/cil-devices.png
89 | images/icons/cil-dialpad.png
90 | images/icons/cil-dog.png
91 | images/icons/cil-door.png
92 | images/icons/cil-double-quote-sans-left.png
93 | images/icons/cil-double-quote-sans-right.png
94 | images/icons/cil-drop.png
95 | images/icons/cil-envelope-closed.png
96 | images/icons/cil-envelope-letter.png
97 | images/icons/cil-envelope-open.png
98 | images/icons/cil-envelope-change.png
99 | images/icons/cil-equalizer.png
100 | images/icons/cil-ethernet.png
101 | images/icons/cil-exit-to-app.png
102 | images/icons/cil-expand-down.png
103 | images/icons/cil-expand-left.png
104 | images/icons/cil-expand-right.png
105 | images/icons/cil-expand-up.png
106 | images/icons/cil-exposure.png
107 | images/icons/cil-external-link.png
108 | images/icons/cil-face-dead.png
109 | images/icons/cil-featured-playlist.png
110 | images/icons/cil-file.png
111 | images/icons/cil-find-in-page.png
112 | images/icons/cil-fingerprint.png
113 | images/icons/cil-fire.png
114 | images/icons/cil-flip-to-back.png
115 | images/icons/cil-folder.png
116 | images/icons/cil-folder-open.png
117 | images/icons/cil-frown.png
118 | images/icons/cil-gamepad.png
119 | images/icons/cil-hand-point-down.png
120 | images/icons/cil-hand-point-left.png
121 | images/icons/cil-hand-point-right.png
122 | images/icons/cil-hand-point-up.png
123 | images/icons/cil-hd.png
124 | images/icons/cil-hdr.png
125 | images/icons/cil-headphones.png
126 | images/icons/cil-heart.png
127 | images/icons/cil-highligt.png
128 | images/icons/cil-history.png
129 | images/icons/cil-home.png
130 | images/icons/cil-house.png
131 | images/icons/cil-image1.png
132 | images/icons/cil-image-plus.png
133 | images/icons/cil-infinity.png
134 | images/icons/cil-input.png
135 | images/icons/cil-input-power.png
136 | images/icons/cil-justify-center.png
137 | images/icons/cil-justify-left.png
138 | images/icons/cil-justify-right.png
139 | images/icons/cil-keyboard.png
140 | images/icons/cil-laptop.png
141 | images/icons/cil-layers.png
142 | images/icons/cil-level-down.png
143 | images/icons/cil-level-up.png
144 | images/icons/cil-library.png
145 | images/icons/cil-library-add.png
146 | images/icons/cil-lightbulb.png
147 | images/icons/cil-link.png
148 | images/icons/cil-link-alt.png
149 | images/icons/cil-link-broken.png
150 | images/icons/cil-location-pin.png
151 | images/icons/cil-lock-locked.png
152 | images/icons/cil-lock-unlocked.png
153 | images/icons/cil-loop.png
154 | images/icons/cil-loop-1.png
155 | images/icons/cil-loop-circular.png
156 | images/icons/cil-low-vision.png
157 | images/icons/cil-magnifying-glass.png
158 | images/icons/cil-map.png
159 | images/icons/cil-media-eject.png
160 | images/icons/cil-media-pause.png
161 | images/icons/cil-media-play.png
162 | images/icons/cil-media-skip-backward.png
163 | images/icons/cil-media-skip-forward.png
164 | images/icons/cil-media-step-backward.png
165 | images/icons/cil-media-step-forward.png
166 | images/icons/cil-media-stop.png
167 | images/icons/cil-medical-cross.png
168 | images/icons/cil-meh.png
169 | images/icons/cil-menu.png
170 | images/icons/cil-microphone.png
171 | images/icons/cil-minus.png
172 | images/icons/cil-mobile.png
173 | images/icons/cil-mobile-landscape.png
174 | images/icons/cil-mood-bad.png
175 | images/icons/cil-mood-good.png
176 | images/icons/cil-mood-very-bad.png
177 | images/icons/cil-mood-very-good.png
178 | images/icons/cil-moon.png
179 | images/icons/cil-mouse.png
180 | images/icons/cil-move.png
181 | images/icons/cil-movie.png
182 | images/icons/cil-mug.png
183 | images/icons/cil-mug-tea.png
184 | images/icons/cil-notes.png
185 | images/icons/cil-options.png
186 | images/icons/cil-options-horizontal.png
187 | images/icons/cil-paint-bucket.png
188 | images/icons/cil-paperclip.png
189 | images/icons/cil-paper-plane.png
190 | images/icons/cil-paragraph.png
191 | images/icons/cil-pen-alt.png
192 | images/icons/cil-pencil.png
193 | images/icons/cil-people.png
194 | images/icons/cil-phone.png
195 | images/icons/cil-pin.png
196 | images/icons/cil-plus.png
197 | images/icons/cil-power-standby.png
198 | images/icons/cil-print.png
199 | images/icons/cil-rectangle.png
200 | images/icons/cil-reload.png
201 | images/icons/cil-remove.png
202 | images/icons/cil-rss.png
203 | images/icons/cil-satelite.png
204 | images/icons/cil-save.png
205 | images/icons/cil-screen-desktop.png
206 | images/icons/cil-screen-smartphone.png
207 | images/icons/cil-settings.png
208 | images/icons/cil-share.png
209 | images/icons/cil-share-boxed.png
210 | images/icons/cil-signal-cellular-0.png
211 | images/icons/cil-signal-cellular-3.png
212 | images/icons/cil-size-grip.png
213 | images/icons/cil-smile.png
214 | images/icons/cil-speaker.png
215 | images/icons/cil-speech.png
216 | images/icons/cil-speedometer.png
217 | images/icons/cil-star.png
218 | images/icons/cil-tags.png
219 | images/icons/cil-task.png
220 | images/icons/cil-terminal.png
221 | images/icons/cil-text.png
222 | images/icons/cil-text-size.png
223 | images/icons/cil-text-square.png
224 | images/icons/cil-thumb-down.png
225 | images/icons/cil-thumb-up.png
226 | images/icons/cil-transfer.png
227 | images/icons/cil-triangle.png
228 | images/icons/cil-truck.png
229 | images/icons/cil-user.png
230 | images/icons/cil-user-female.png
231 | images/icons/cil-user-follow.png
232 | images/icons/cil-user-unfollow.png
233 | images/icons/cil-vertical-align-bottom.png
234 | images/icons/cil-view-column.png
235 | images/icons/cil-view-module.png
236 | images/icons/cil-view-quilt.png
237 | images/icons/cil-view-stream.png
238 | images/icons/cil-voice-over-record.png
239 | images/icons/cil-volume-high.png
240 | images/icons/cil-volume-low.png
241 | images/icons/cil-volume-off.png
242 | images/icons/cil-wallet.png
243 | images/icons/cil-watch.png
244 | images/icons/cil-wifi-signal-0.png
245 | images/icons/cil-wifi-signal-1.png
246 | images/icons/cil-wifi-signal-2.png
247 | images/icons/cil-wifi-signal-4.png
248 | images/icons/cil-wifi-signal-off.png
249 | images/icons/cil-window-maximize.png
250 | images/icons/cil-window-minimize.png
251 | images/icons/cil-window-restore.png
252 | images/icons/cil-wrap-text.png
253 | images/icons/cil-x.png
254 | images/icons/cil-x-circle.png
255 | images/icons/cil-zoom-in.png
256 | images/icons/cil-zoom-out.png
257 | images/icons/icon_close.png
258 | images/icons/icon_maximize.png
259 | images/icons/icon_menu.png
260 | images/icons/icon_minimize.png
261 | images/icons/icon_restore.png
262 | images/icons/icon_settings.png
263 |
264 |
265 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/setup.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 | from cx_Freeze import setup, Executable
4 |
5 | # ADD FILES
6 | files = ['icon.ico', 'themes/']
7 |
8 | # TARGET
9 | target = Executable(
10 | script="main.py",
11 | base="Win32GUI",
12 | icon="icon.ico"
13 | )
14 |
15 | # SETUP CX FREEZE
16 | setup(
17 | name="PyDracula",
18 | version="1.0",
19 | description="Modern GUI for Python applications",
20 | author="blyang",
21 | options={'build_exe': {'include_files': files}},
22 | executables=[target]
23 |
24 | )
25 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/themes/py_dracula_light.qss:
--------------------------------------------------------------------------------
1 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
2 |
3 | SET APP STYLESHEET - FULL STYLES HERE
4 | DARK THEME - DRACULA COLOR BASED
5 |
6 | # BY: WANDERSON M.PIMENTA
7 | # PROJECT MADE WITH: Qt Designer and PySide6
8 | # V: 1.0.0
9 | #
10 | # This project can be used freely for all uses, as long as they maintain the
11 | # respective credits only in the Python scripts, any information in the visual
12 | # interface (GUI) can be modified without any implication.
13 | #
14 | # There are limitations on Qt licenses if you want to use your products
15 | # commercially, I recommend reading them on the official website:
16 | # https://doc.qt.io/qtforpython/licenses.html
17 |
18 | ///////////////////////////////////////////////////////////////////////////////////////////////// */
19 |
20 | QWidget{
21 | color: #333;
22 | font: 10pt "Segoe UI";
23 | }
24 |
25 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
26 | Tooltip */
27 | QToolTip {
28 | color: #333;
29 | background-color: #f8f8f2;
30 | border: 1px solid #CCC;
31 | background-image: none;
32 | background-position: left center;
33 | background-repeat: no-repeat;
34 | border: none;
35 | border-left: 2px solid rgb(255, 121, 198);
36 | text-align: left;
37 | padding-left: 8px;
38 | margin: 0px;
39 | }
40 |
41 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
42 | Bg App */
43 | #bgApp {
44 | background-color: #f8f8f2;
45 | border: 1px solid #CCC;
46 | color: #44475a;
47 | }
48 |
49 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
50 | Left Menu */
51 | #leftMenuBg {
52 | background-color: #6272a4;
53 | }
54 | #topLogo {
55 | background-color: #6272a4;
56 | background-image: url(:/images/images/images/PyDracula.png);
57 | background-position: centered;
58 | background-repeat: no-repeat;
59 | }
60 | #titleLeftApp { font: 63 12pt "Segoe UI Semibold"; color: #f8f8f2; }
61 | #titleLeftDescription { font: 8pt "Segoe UI"; color: #bd93f9; }
62 |
63 | /* MENUS */
64 | #topMenu .QPushButton {
65 | background-position: left center;
66 | background-repeat: no-repeat;
67 | border: none;
68 | border-left: 22px solid transparent;
69 | background-color: transparent;
70 | text-align: left;
71 | padding-left: 44px;
72 | color: #f8f8f2;
73 | }
74 | #topMenu .QPushButton:hover {
75 | background-color: #bd93f9;
76 | }
77 | #topMenu .QPushButton:pressed {
78 | background-color: #ff79c6;
79 | color: rgb(255, 255, 255);
80 | }
81 | #bottomMenu .QPushButton {
82 | background-position: left center;
83 | background-repeat: no-repeat;
84 | border: none;
85 | border-left: 20px solid transparent;
86 | background-color:transparent;
87 | text-align: left;
88 | padding-left: 44px;
89 | color: #f8f8f2;
90 | }
91 | #bottomMenu .QPushButton:hover {
92 | background-color: #bd93f9;
93 | }
94 | #bottomMenu .QPushButton:pressed {
95 | background-color: #ff79c6;
96 | color: rgb(255, 255, 255);
97 | }
98 | #leftMenuFrame{
99 | border-top: 3px solid #6a7cb1;
100 | }
101 |
102 | /* Toggle Button */
103 | #toggleButton {
104 | background-position: left center;
105 | background-repeat: no-repeat;
106 | border: none;
107 | border-left: 20px solid transparent;
108 | background-color: #5b6996;
109 | text-align: left;
110 | padding-left: 44px;
111 | color: #f8f8f2;
112 | }
113 | #toggleButton:hover {
114 | background-color: #bd93f9;
115 | }
116 | #toggleButton:pressed {
117 | background-color: #ff79c6;
118 | color: rgb(255, 255, 255);
119 | }
120 |
121 | /* Title Menu */
122 | #titleRightInfo { padding-left: 10px; }
123 |
124 |
125 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
126 | Extra Tab */
127 | #extraLeftBox {
128 | background-color: #495474;
129 | color: #f8f8f2;
130 | }
131 | #extraTopBg{
132 | background-color: rgb(189, 147, 249)
133 | }
134 |
135 | /* Icon */
136 | #extraIcon {
137 | background-position: center;
138 | background-repeat: no-repeat;
139 | background-image: url(:/icons/images/icons/icon_settings.png);
140 | }
141 |
142 | /* Label */
143 | #extraLabel { color: rgb(255, 255, 255); }
144 |
145 | /* Btn Close */
146 | #extraCloseColumnBtn { background-color: rgba(255, 255, 255, 0); border: none; border-radius: 5px; }
147 | #extraCloseColumnBtn:hover { background-color: rgb(196, 161, 249); border-style: solid; border-radius: 4px; }
148 | #extraCloseColumnBtn:pressed { background-color: rgb(180, 141, 238); border-style: solid; border-radius: 4px; }
149 |
150 | /* Extra Content */
151 | #extraContent{
152 | border-top: 3px solid #6272a4;
153 | }
154 |
155 | /* Extra Top Menus */
156 | #extraTopMenu .QPushButton {
157 | background-position: left center;
158 | background-repeat: no-repeat;
159 | border: none;
160 | border-left: 22px solid transparent;
161 | background-color:transparent;
162 | text-align: left;
163 | padding-left: 44px;
164 | color: #f8f8f2;
165 | }
166 | #extraTopMenu .QPushButton:hover {
167 | background-color: #5d6c99;
168 | }
169 | #extraTopMenu .QPushButton:pressed {
170 | background-color: rgb(189, 147, 249);
171 | color: rgb(255, 255, 255);
172 | }
173 |
174 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
175 | Content App */
176 | #contentTopBg{
177 | background-color: #6272a4;
178 | }
179 | #contentBottom{
180 | border-top: 3px solid #bd93f9;
181 | }
182 | #titleRightInfo{
183 | color: #f8f8f2;
184 | }
185 |
186 | /* Top Buttons */
187 | #rightButtons .QPushButton { background-color: rgba(255, 255, 255, 0); border: none; border-radius: 5px; }
188 | #rightButtons .QPushButton:hover { background-color: #bd93f9; border-style: solid; border-radius: 4px; }
189 | #rightButtons .QPushButton:pressed { background-color: #ff79c6; border-style: solid; border-radius: 4px; }
190 |
191 | /* Theme Settings */
192 | #extraRightBox { background-color: #495474; }
193 | #themeSettingsTopDetail { background-color: #6272a4; }
194 |
195 | /* Bottom Bar */
196 | #bottomBar { background-color: #495474 }
197 | #bottomBar QLabel { font-size: 11px; color: #f8f8f2; padding-left: 10px; padding-right: 10px; padding-bottom: 2px; }
198 |
199 | /* CONTENT SETTINGS */
200 | /* MENUS */
201 | #contentSettings .QPushButton {
202 | background-position: left center;
203 | background-repeat: no-repeat;
204 | border: none;
205 | border-left: 22px solid transparent;
206 | background-color:transparent;
207 | text-align: left;
208 | padding-left: 44px;
209 | color: #f8f8f2;
210 | }
211 | #contentSettings .QPushButton:hover {
212 | background-color: #5d6c99;
213 | }
214 | #contentSettings .QPushButton:pressed {
215 | background-color: rgb(189, 147, 249);
216 | color: rgb(255, 255, 255);
217 | }
218 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
219 | QTableWidget */
220 | QTableWidget {
221 | background-color: transparent;
222 | padding: 10px;
223 | border-radius: 5px;
224 | gridline-color: #9faeda;
225 | outline: none;
226 | }
227 | QTableWidget::item{
228 | border-color: #9faeda;
229 | padding-left: 5px;
230 | padding-right: 5px;
231 | gridline-color: #9faeda;
232 | }
233 | QTableWidget::item:selected{
234 | background-color: rgb(189, 147, 249);
235 | color: #f8f8f2;
236 | }
237 | QHeaderView::section{
238 | background-color: #6272a4;
239 | max-width: 30px;
240 | border: none;
241 | border-style: none;
242 | }
243 | QTableWidget::horizontalHeader {
244 | background-color: #6272a4;
245 | }
246 | QHeaderView::section:horizontal
247 | {
248 | border: 1px solid #6272a4;
249 | background-color: #6272a4;
250 | padding: 3px;
251 | border-top-left-radius: 7px;
252 | border-top-right-radius: 7px;
253 | color: #f8f8f2;
254 | }
255 | QHeaderView::section:vertical
256 | {
257 | border: 1px solid #6272a4;
258 | }
259 |
260 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
261 | LineEdit */
262 | QLineEdit {
263 | background-color: #6272a4;
264 | border-radius: 5px;
265 | border: 2px solid #6272a4;
266 | padding-left: 10px;
267 | selection-color: rgb(255, 255, 255);
268 | selection-background-color: rgb(255, 121, 198);
269 | color: #f8f8f2;
270 | }
271 | QLineEdit:hover {
272 | border: 2px solid rgb(64, 71, 88);
273 | }
274 | QLineEdit:focus {
275 | border: 2px solid #ff79c6;
276 | }
277 |
278 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
279 | PlainTextEdit */
280 | QPlainTextEdit {
281 | background-color: #6272a4;
282 | border-radius: 5px;
283 | padding: 10px;
284 | selection-color: rgb(255, 255, 255);
285 | selection-background-color: rgb(255, 121, 198);
286 | color: #f8f8f2;
287 | }
288 | QPlainTextEdit QScrollBar:vertical {
289 | width: 8px;
290 | }
291 | QPlainTextEdit QScrollBar:horizontal {
292 | height: 8px;
293 | }
294 | QPlainTextEdit:hover {
295 | border: 2px solid rgb(64, 71, 88);
296 | }
297 | QPlainTextEdit:focus {
298 | border: 2px solid #ff79c6;
299 | }
300 |
301 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
302 | ScrollBars */
303 | QScrollBar:horizontal {
304 | border: none;
305 | background: #6272a4;
306 | height: 8px;
307 | margin: 0px 21px 0 21px;
308 | border-radius: 0px;
309 | }
310 | QScrollBar::handle:horizontal {
311 | background: rgb(189, 147, 249);
312 | min-width: 25px;
313 | border-radius: 4px
314 | }
315 | QScrollBar::add-line:horizontal {
316 | border: none;
317 | background: #6272a4;
318 | width: 20px;
319 | border-top-right-radius: 4px;
320 | border-bottom-right-radius: 4px;
321 | subcontrol-position: right;
322 | subcontrol-origin: margin;
323 | }
324 | QScrollBar::sub-line:horizontal {
325 | border: none;
326 | background: #6272a4;
327 | width: 20px;
328 | border-top-left-radius: 4px;
329 | border-bottom-left-radius: 4px;
330 | subcontrol-position: left;
331 | subcontrol-origin: margin;
332 | }
333 | QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal
334 | {
335 | background: none;
336 | }
337 | QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
338 | {
339 | background: none;
340 | }
341 | QScrollBar:vertical {
342 | border: none;
343 | background-color: #6272a4;
344 | width: 8px;
345 | margin: 21px 0 21px 0;
346 | border-radius: 0px;
347 | }
348 | QScrollBar::handle:vertical {
349 | background: rgb(189, 147, 249);
350 | min-height: 25px;
351 | border-radius: 4px
352 | }
353 | QScrollBar::add-line:vertical {
354 | border: none;
355 | background: #6272a4;
356 | height: 20px;
357 | border-bottom-left-radius: 4px;
358 | border-bottom-right-radius: 4px;
359 | subcontrol-position: bottom;
360 | subcontrol-origin: margin;
361 | }
362 | QScrollBar::sub-line:vertical {
363 | border: none;
364 | background: #6272a4;
365 | height: 20px;
366 | border-top-left-radius: 4px;
367 | border-top-right-radius: 4px;
368 | subcontrol-position: top;
369 | subcontrol-origin: margin;
370 | }
371 | QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
372 | background: none;
373 | }
374 |
375 | QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
376 | background: none;
377 | }
378 |
379 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
380 | CheckBox */
381 | QCheckBox::indicator {
382 | border: 3px solid #6272a4;
383 | width: 15px;
384 | height: 15px;
385 | border-radius: 10px;
386 | background: #6272a4;
387 | }
388 | QCheckBox::indicator:hover {
389 | border: 3px solid rgb(119, 136, 187);
390 | }
391 | QCheckBox::indicator:checked {
392 | background: 3px solid #bd93f9;
393 | border: 3px solid #bd93f9;
394 | background-image: url(:/icons/images/icons/cil-check-alt.png);
395 | }
396 |
397 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
398 | RadioButton */
399 | QRadioButton::indicator {
400 | border: 3px solid #6272a4;
401 | width: 15px;
402 | height: 15px;
403 | border-radius: 10px;
404 | background: #6272a4;
405 | }
406 | QRadioButton::indicator:hover {
407 | border: 3px solid rgb(119, 136, 187);
408 | }
409 | QRadioButton::indicator:checked {
410 | background: 3px solid #bd93f9;
411 | border: 3px solid #bd93f9;
412 | }
413 |
414 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
415 | ComboBox */
416 | QComboBox{
417 | background-color: #6272a4;
418 | border-radius: 5px;
419 | border: 2px solid #6272a4;
420 | padding: 5px;
421 | padding-left: 10px;
422 | color: #f8f8f2;
423 | }
424 | QComboBox:hover{
425 | border: 2px solid #7284b9;
426 | }
427 | QComboBox::drop-down {
428 | subcontrol-origin: padding;
429 | subcontrol-position: top right;
430 | width: 25px;
431 | border-left-width: 3px;
432 | border-left-color: #6272a4;
433 | border-left-style: solid;
434 | border-top-right-radius: 3px;
435 | border-bottom-right-radius: 3px;
436 | background-image: url(:/icons/images/icons/cil-arrow-bottom.png);
437 | background-position: center;
438 | background-repeat: no-reperat;
439 | }
440 | QComboBox QAbstractItemView {
441 | color: rgb(255, 121, 198);
442 | background-color: #6272a4;
443 | padding: 10px;
444 | selection-background-color: #6272a4;
445 | }
446 |
447 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
448 | Sliders */
449 | QSlider::groove:horizontal {
450 | border-radius: 5px;
451 | height: 10px;
452 | margin: 0px;
453 | background-color: #6272a4;
454 | }
455 | QSlider::groove:horizontal:hover {
456 | background-color: #6272a4;
457 | }
458 | QSlider::handle:horizontal {
459 | background-color: rgb(189, 147, 249);
460 | border: none;
461 | height: 10px;
462 | width: 10px;
463 | margin: 0px;
464 | border-radius: 5px;
465 | }
466 | QSlider::handle:horizontal:hover {
467 | background-color: rgb(195, 155, 255);
468 | }
469 | QSlider::handle:horizontal:pressed {
470 | background-color: rgb(255, 121, 198);
471 | }
472 |
473 | QSlider::groove:vertical {
474 | border-radius: 5px;
475 | width: 10px;
476 | margin: 0px;
477 | background-color: #6272a4;
478 | }
479 | QSlider::groove:vertical:hover {
480 | background-color: #6272a4;
481 | }
482 | QSlider::handle:vertical {
483 | background-color: rgb(189, 147, 249);
484 | border: none;
485 | height: 10px;
486 | width: 10px;
487 | margin: 0px;
488 | border-radius: 5px;
489 | }
490 | QSlider::handle:vertical:hover {
491 | background-color: rgb(195, 155, 255);
492 | }
493 | QSlider::handle:vertical:pressed {
494 | background-color: rgb(255, 121, 198);
495 | }
496 |
497 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
498 | CommandLinkButton */
499 | #pagesContainer QCommandLinkButton {
500 | color: rgb(255, 121, 198);
501 | border-radius: 5px;
502 | padding: 5px;
503 | border: 2px solid #ff79c6;
504 | color: #ff79c6;
505 | }
506 | #pagesContainer QCommandLinkButton:hover {
507 | color: rgb(255, 170, 255);
508 | background-color: #6272a4;
509 | }
510 | #pagesContainer QCommandLinkButton:pressed {
511 | color: rgb(189, 147, 249);
512 | background-color: #586796;
513 | }
514 |
515 | /* /////////////////////////////////////////////////////////////////////////////////////////////////
516 | Button */
517 | #pagesContainer QPushButton {
518 | border: 2px solid #6272a4;
519 | border-radius: 5px;
520 | background-color: #6272a4;
521 | color: #f8f8f2;
522 | }
523 | #pagesContainer QPushButton:hover {
524 | background-color: #7082b6;
525 | border: 2px solid #7082b6;
526 | }
527 | #pagesContainer QPushButton:pressed {
528 | background-color: #546391;
529 | border: 2px solid #ff79c6;
530 | }
531 |
532 |
533 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/widgets/__init__.py:
--------------------------------------------------------------------------------
1 | # ///////////////////////////////////////////////////////////////
2 | #
3 | # BY: WANDERSON M.PIMENTA
4 | # PROJECT MADE WITH: Qt Designer and PySide6
5 | # V: 1.0.0
6 | #
7 | # This project can be used freely for all uses, as long as they maintain the
8 | # respective credits only in the Python scripts, any information in the visual
9 | # interface (GUI) can be modified without any implication.
10 | #
11 | # There are limitations on Qt licenses if you want to use your products
12 | # commercially, I recommend reading them on the official website:
13 | # https://doc.qt.io/qtforpython/licenses.html
14 | #
15 | # ///////////////////////////////////////////////////////////////
16 |
17 | from . custom_grips import CustomGrip
18 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/widgets/custom_grips/__init__.py:
--------------------------------------------------------------------------------
1 | # ///////////////////////////////////////////////////////////////
2 | #
3 | # BY: WANDERSON M.PIMENTA
4 | # PROJECT MADE WITH: Qt Designer and PySide6
5 | # V: 1.0.0
6 | #
7 | # This project can be used freely for all uses, as long as they maintain the
8 | # respective credits only in the Python scripts, any information in the visual
9 | # interface (GUI) can be modified without any implication.
10 | #
11 | # There are limitations on Qt licenses if you want to use your products
12 | # commercially, I recommend reading them on the official website:
13 | # https://doc.qt.io/qtforpython/licenses.html
14 | #
15 | # ///////////////////////////////////////////////////////////////
16 |
17 | from . custom_grips import CustomGrip
18 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/widgets/custom_grips/custom_grips.py:
--------------------------------------------------------------------------------
1 | # ///////////////////////////////////////////////////////////////
2 | #
3 | # BY: WANDERSON M.PIMENTA
4 | # PROJECT MADE WITH: Qt Designer and PySide6
5 | # V: 1.0.0
6 | #
7 | # This project can be used freely for all uses, as long as they maintain the
8 | # respective credits only in the Python scripts, any information in the visual
9 | # interface (GUI) can be modified without any implication.
10 | #
11 | # There are limitations on Qt licenses if you want to use your products
12 | # commercially, I recommend reading them on the official website:
13 | # https://doc.qt.io/qtforpython/licenses.html
14 | #
15 | # ///////////////////////////////////////////////////////////////
16 |
17 | from PySide6.QtCore import *
18 | from PySide6.QtGui import *
19 | from PySide6.QtWidgets import *
20 |
21 | class CustomGrip(QWidget):
22 | def __init__(self, parent, position, disable_color = False):
23 |
24 | # SETUP UI
25 | QWidget.__init__(self)
26 | self.parent = parent
27 | self.setParent(parent)
28 | self.wi = Widgets()
29 |
30 | # SHOW TOP GRIP
31 | if position == Qt.TopEdge:
32 | self.wi.top(self)
33 | self.setGeometry(0, 0, self.parent.width(), 10)
34 | self.setMaximumHeight(10)
35 |
36 | # GRIPS
37 | top_left = QSizeGrip(self.wi.top_left)
38 | top_right = QSizeGrip(self.wi.top_right)
39 |
40 | # RESIZE TOP
41 | def resize_top(event):
42 | delta = event.pos()
43 | height = max(self.parent.minimumHeight(), self.parent.height() - delta.y())
44 | geo = self.parent.geometry()
45 | geo.setTop(geo.bottom() - height)
46 | self.parent.setGeometry(geo)
47 | event.accept()
48 | self.wi.top.mouseMoveEvent = resize_top
49 |
50 | # ENABLE COLOR
51 | if disable_color:
52 | self.wi.top_left.setStyleSheet("background: transparent")
53 | self.wi.top_right.setStyleSheet("background: transparent")
54 | self.wi.top.setStyleSheet("background: transparent")
55 |
56 | # SHOW BOTTOM GRIP
57 | elif position == Qt.BottomEdge:
58 | self.wi.bottom(self)
59 | self.setGeometry(0, self.parent.height() - 10, self.parent.width(), 10)
60 | self.setMaximumHeight(10)
61 |
62 | # GRIPS
63 | self.bottom_left = QSizeGrip(self.wi.bottom_left)
64 | self.bottom_right = QSizeGrip(self.wi.bottom_right)
65 |
66 | # RESIZE BOTTOM
67 | def resize_bottom(event):
68 | delta = event.pos()
69 | height = max(self.parent.minimumHeight(), self.parent.height() + delta.y())
70 | self.parent.resize(self.parent.width(), height)
71 | event.accept()
72 | self.wi.bottom.mouseMoveEvent = resize_bottom
73 |
74 | # ENABLE COLOR
75 | if disable_color:
76 | self.wi.bottom_left.setStyleSheet("background: transparent")
77 | self.wi.bottom_right.setStyleSheet("background: transparent")
78 | self.wi.bottom.setStyleSheet("background: transparent")
79 |
80 | # SHOW LEFT GRIP
81 | elif position == Qt.LeftEdge:
82 | self.wi.left(self)
83 | self.setGeometry(0, 10, 10, self.parent.height())
84 | self.setMaximumWidth(10)
85 |
86 | # RESIZE LEFT
87 | def resize_left(event):
88 | delta = event.pos()
89 | width = max(self.parent.minimumWidth(), self.parent.width() - delta.x())
90 | geo = self.parent.geometry()
91 | geo.setLeft(geo.right() - width)
92 | self.parent.setGeometry(geo)
93 | event.accept()
94 | self.wi.leftgrip.mouseMoveEvent = resize_left
95 |
96 | # ENABLE COLOR
97 | if disable_color:
98 | self.wi.leftgrip.setStyleSheet("background: transparent")
99 |
100 | # RESIZE RIGHT
101 | elif position == Qt.RightEdge:
102 | self.wi.right(self)
103 | self.setGeometry(self.parent.width() - 10, 10, 10, self.parent.height())
104 | self.setMaximumWidth(10)
105 |
106 | def resize_right(event):
107 | delta = event.pos()
108 | width = max(self.parent.minimumWidth(), self.parent.width() + delta.x())
109 | self.parent.resize(width, self.parent.height())
110 | event.accept()
111 | self.wi.rightgrip.mouseMoveEvent = resize_right
112 |
113 | # ENABLE COLOR
114 | if disable_color:
115 | self.wi.rightgrip.setStyleSheet("background: transparent")
116 |
117 |
118 | def mouseReleaseEvent(self, event):
119 | self.mousePos = None
120 |
121 | def resizeEvent(self, event):
122 | if hasattr(self.wi, 'container_top'):
123 | self.wi.container_top.setGeometry(0, 0, self.width(), 10)
124 |
125 | elif hasattr(self.wi, 'container_bottom'):
126 | self.wi.container_bottom.setGeometry(0, 0, self.width(), 10)
127 |
128 | elif hasattr(self.wi, 'leftgrip'):
129 | self.wi.leftgrip.setGeometry(0, 0, 10, self.height() - 20)
130 |
131 | elif hasattr(self.wi, 'rightgrip'):
132 | self.wi.rightgrip.setGeometry(0, 0, 10, self.height() - 20)
133 |
134 | class Widgets(object):
135 | def top(self, Form):
136 | if not Form.objectName():
137 | Form.setObjectName(u"Form")
138 | self.container_top = QFrame(Form)
139 | self.container_top.setObjectName(u"container_top")
140 | self.container_top.setGeometry(QRect(0, 0, 500, 10))
141 | self.container_top.setMinimumSize(QSize(0, 10))
142 | self.container_top.setMaximumSize(QSize(16777215, 10))
143 | self.container_top.setFrameShape(QFrame.NoFrame)
144 | self.container_top.setFrameShadow(QFrame.Raised)
145 | self.top_layout = QHBoxLayout(self.container_top)
146 | self.top_layout.setSpacing(0)
147 | self.top_layout.setObjectName(u"top_layout")
148 | self.top_layout.setContentsMargins(0, 0, 0, 0)
149 | self.top_left = QFrame(self.container_top)
150 | self.top_left.setObjectName(u"top_left")
151 | self.top_left.setMinimumSize(QSize(10, 10))
152 | self.top_left.setMaximumSize(QSize(10, 10))
153 | self.top_left.setCursor(QCursor(Qt.SizeFDiagCursor))
154 | self.top_left.setStyleSheet(u"background-color: rgb(33, 37, 43);")
155 | self.top_left.setFrameShape(QFrame.NoFrame)
156 | self.top_left.setFrameShadow(QFrame.Raised)
157 | self.top_layout.addWidget(self.top_left)
158 | self.top = QFrame(self.container_top)
159 | self.top.setObjectName(u"top")
160 | self.top.setCursor(QCursor(Qt.SizeVerCursor))
161 | self.top.setStyleSheet(u"background-color: rgb(85, 255, 255);")
162 | self.top.setFrameShape(QFrame.NoFrame)
163 | self.top.setFrameShadow(QFrame.Raised)
164 | self.top_layout.addWidget(self.top)
165 | self.top_right = QFrame(self.container_top)
166 | self.top_right.setObjectName(u"top_right")
167 | self.top_right.setMinimumSize(QSize(10, 10))
168 | self.top_right.setMaximumSize(QSize(10, 10))
169 | self.top_right.setCursor(QCursor(Qt.SizeBDiagCursor))
170 | self.top_right.setStyleSheet(u"background-color: rgb(33, 37, 43);")
171 | self.top_right.setFrameShape(QFrame.NoFrame)
172 | self.top_right.setFrameShadow(QFrame.Raised)
173 | self.top_layout.addWidget(self.top_right)
174 |
175 | def bottom(self, Form):
176 | if not Form.objectName():
177 | Form.setObjectName(u"Form")
178 | self.container_bottom = QFrame(Form)
179 | self.container_bottom.setObjectName(u"container_bottom")
180 | self.container_bottom.setGeometry(QRect(0, 0, 500, 10))
181 | self.container_bottom.setMinimumSize(QSize(0, 10))
182 | self.container_bottom.setMaximumSize(QSize(16777215, 10))
183 | self.container_bottom.setFrameShape(QFrame.NoFrame)
184 | self.container_bottom.setFrameShadow(QFrame.Raised)
185 | self.bottom_layout = QHBoxLayout(self.container_bottom)
186 | self.bottom_layout.setSpacing(0)
187 | self.bottom_layout.setObjectName(u"bottom_layout")
188 | self.bottom_layout.setContentsMargins(0, 0, 0, 0)
189 | self.bottom_left = QFrame(self.container_bottom)
190 | self.bottom_left.setObjectName(u"bottom_left")
191 | self.bottom_left.setMinimumSize(QSize(10, 10))
192 | self.bottom_left.setMaximumSize(QSize(10, 10))
193 | self.bottom_left.setCursor(QCursor(Qt.SizeBDiagCursor))
194 | self.bottom_left.setStyleSheet(u"background-color: rgb(33, 37, 43);")
195 | self.bottom_left.setFrameShape(QFrame.NoFrame)
196 | self.bottom_left.setFrameShadow(QFrame.Raised)
197 | self.bottom_layout.addWidget(self.bottom_left)
198 | self.bottom = QFrame(self.container_bottom)
199 | self.bottom.setObjectName(u"bottom")
200 | self.bottom.setCursor(QCursor(Qt.SizeVerCursor))
201 | self.bottom.setStyleSheet(u"background-color: rgb(85, 170, 0);")
202 | self.bottom.setFrameShape(QFrame.NoFrame)
203 | self.bottom.setFrameShadow(QFrame.Raised)
204 | self.bottom_layout.addWidget(self.bottom)
205 | self.bottom_right = QFrame(self.container_bottom)
206 | self.bottom_right.setObjectName(u"bottom_right")
207 | self.bottom_right.setMinimumSize(QSize(10, 10))
208 | self.bottom_right.setMaximumSize(QSize(10, 10))
209 | self.bottom_right.setCursor(QCursor(Qt.SizeFDiagCursor))
210 | self.bottom_right.setStyleSheet(u"background-color: rgb(33, 37, 43);")
211 | self.bottom_right.setFrameShape(QFrame.NoFrame)
212 | self.bottom_right.setFrameShadow(QFrame.Raised)
213 | self.bottom_layout.addWidget(self.bottom_right)
214 |
215 | def left(self, Form):
216 | if not Form.objectName():
217 | Form.setObjectName(u"Form")
218 | self.leftgrip = QFrame(Form)
219 | self.leftgrip.setObjectName(u"left")
220 | self.leftgrip.setGeometry(QRect(0, 10, 10, 480))
221 | self.leftgrip.setMinimumSize(QSize(10, 0))
222 | self.leftgrip.setCursor(QCursor(Qt.SizeHorCursor))
223 | self.leftgrip.setStyleSheet(u"background-color: rgb(255, 121, 198);")
224 | self.leftgrip.setFrameShape(QFrame.NoFrame)
225 | self.leftgrip.setFrameShadow(QFrame.Raised)
226 |
227 | def right(self, Form):
228 | if not Form.objectName():
229 | Form.setObjectName(u"Form")
230 | Form.resize(500, 500)
231 | self.rightgrip = QFrame(Form)
232 | self.rightgrip.setObjectName(u"right")
233 | self.rightgrip.setGeometry(QRect(0, 0, 10, 500))
234 | self.rightgrip.setMinimumSize(QSize(10, 0))
235 | self.rightgrip.setCursor(QCursor(Qt.SizeHorCursor))
236 | self.rightgrip.setStyleSheet(u"background-color: rgb(255, 0, 127);")
237 | self.rightgrip.setFrameShape(QFrame.NoFrame)
238 | self.rightgrip.setFrameShadow(QFrame.Raised)
239 |
--------------------------------------------------------------------------------
/gui_tool_with_pyside6/说明书.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/poplangfan/pygt5_learn/82c5287505a35a9f8ccacbcbbf16c0151ee7ac26/gui_tool_with_pyside6/说明书.docx
--------------------------------------------------------------------------------