PyDraculor是由Wanderson-Magalhaes制作的应用程序前台程序,下载地址如下:
https://github.com/Wanderson-Magalhaes/Modern_GUI_PyDracula_PySide6_or_PyQt6
下载完成后,进行页面配置。
通过pyside6-designer程序进行界面设置,具体设计流程可以在bilibili的https://www.bilibili.com/video/BV1c84y1N7iL/?p=46&vd_source=9919a8455572d62afec7d6a5f0c450cb该网址下的,《PySide6百炼成真,带你系统性入门Qt》找到具体的pydracula前台操作页面,完成前台页面的制作,制作完成保存后,可以通过pyside6-uic进行编译,
pyside6-uic D:/python-project/Modern_GUI_PyDracula_PySide6_or_PyQt6-master/main.ui -o D:/python-project/Modern_GUI_PyDracula_PySide6_or_PyQt6-master/ui_main.py
完成页面编译,然后修改其中的 :
font1.setWeight(QFont.)注释掉
将
import resources_rc
修改为:
from . resources_rc import *
再次运行main.py,可以成功将修改过后的PyDracula界面弹出。在完成前台修改后,进行后台信号槽和方法绑定,我使用了两个控件,一个是QlistWidget和QPlainTextEdit作为主要控件,在进行页面修改时,当主页不足5个时无法直接删除,可以通过
完成主要页面的控件事件绑定后,可以进行页面上控件的数据绑定,在main.py进行控件默认数据,
在main.py中的代码如下:
self.ui.home_Widget.addItems(自定义的列表)
self.ui.home_Widget.currentRowChanged.connect(lambda:AppFunctions.方法名称(self,self.ui.home_Widget.currentIndex().row()))
#self.ui.home_Widget.currentIndex().row()该widget的选中的行数
在app_functions.py中设置方法完成widget控件的信号槽传递。
在app_functions.py中代码如下:
def text_docx(file, index):
path=r"文件路径"
file = file + '.docx'
doc = docx.Document(path + "//" + file)
str_text = ''
for i in doc.paragraphs:
str_text += i.text + "\n"
#以字符串形式返回值
return str_text
def 方法名称(self,index):
#判断ui中widget的item(行数)的文本是否为‘自定义的值’
if self.ui.home_Widget.item(index).text()=="自定义的值":
file = self.ui.home_Widget.item(index).text()
str_docx = AppFunctions.text_docx(file, index)
self.ui.home_TextEdit.setPlainText(str_docx)
至此完成了文档的查询和显示功能。
在完成了其他的功能后可以进行程序的打包和图标设置,因为我在最后使用的主题是py_dracula_light.qss,所以在进行打包时总是出现主题路径错误。这时只需要修改应用主题的路径为决对路径即可
将main.py中,完成theme主题指定路径即可。
useCustomTheme = True
themeFile = "文件绝对路径//themes//py_dracula_light.qss"