用于各种GUI用法的包装器模块
GUISpices的Python项目详细描述
黄鼠狼桂香料
这是您真正需要的唯一一个GUI模块。。。在
特点
- PyInstaller生成的帮助函数
- 带自定义子菜单的托盘图标
- Windows消息
- Qt Creator窗口
- Windows资源管理器扩展
- 无边界和可拖动窗口
- 轻松定制CSS样式
PyInstaller的助手函数
这些助手函数为构建应用程序提供了极好的支持 使用PyInstaller,修复了一些通常在运行时出现的主要问题。 我强烈建议您使用 具有这些功能的PyInstaller。这将节省很多调试时间。在
一个文件生成(-F选项)
如果您使用-F选项构建一个.exe,整个应用程序将被捆绑到一个 包含所有资源文件的可执行文件。这些都是在执行时拆包的。 但在哪里呢?使用此函数可以在您计划的任何时候引用资源文件 使用-w选项。在
fromGUISpices.Utilityimportresource_path# opening a "text.txt" in the same directoryf=open(resource_path("text.txt"),"r")print(f.read())f.close()
确保在生成时通过--add-data <src;dst>
附加资源文件
运行PyInstaller时!在这种情况下:pyinstaller -F --add-data "text.txt;text.txt" main.py
窗口构建(-w选项)
如果使用-w选项构建.exe,则应用程序将在没有终端的情况下执行
窗户。我们通常只想在GUI应用程序中使用它。但是,如果你的应用程序
需要获取终端命令的输出,您的应用程序将打开
终端或因被禁止而卡住。此功能将
执行终端命令并以字符串形式返回输出(基于subprocess.Popen
)。在
代码示例
托盘图标
此示例在右下角的托盘中创建一个经典图标。在
fromPySide2.QtWidgetsimportQApplication,QMenufromGUISpicesimportTrayIconimportsys# create main application (if not present)app=QApplication([])app.setQuitOnLastWindowClosed(False)# configure basic tray actionstray=TrayIcon(app,"examples/icon.png","Test Program",click_action=lambda:print("Clicked"))tray.add_menu_feature("Change Icon",lambda:tray.set_icon("examples/icon2.png"))tray.add_menu_feature("Show a message from tray",lambda:tray.show_tray_message("Hello","Hello my friend"))tray.add_separator()tray.add_menu_feature("Exit",app.exit)# Include a custom sub-menumenu_=QMenu(title="Sub Menu")menu_.addAction("Egg sit (sub-action)",lambda:sys.exit(0))tray.add_menu(menu_)sys.exit(app.exec_())
Windows消息
这将显示一个托盘图标并创建一个带有自定义图标和操作的windows托盘邮件。在
fromPySide2.QtWidgetsimportQApplication,QMenufromGUISpicesimportTrayIconimportsys# create main application (if not present)app=QApplication([])app.setQuitOnLastWindowClosed(False)# configure basic traytray=TrayIcon(app,"examples/icon.png","Test Program")# Show messagetray.show_tray_message("Title","This is the message body",icon="examples/icon.png",on_click=lambda:print("Message clicked"))sys.exit(app.exec_())
Qt窗口
整个模块允许您使用
Qt Designer,一个功能强大且易于使用的环境
拖放GUI构建。这将创建一个可以直接加载的.ui
文件
创建完全兼容的所需窗口。在
fromPySide2.QtWidgetsimportQApplicationfromGUISpicesimportUIWindowimportsysapp=QApplication()main_form=UIWindow('examples/wizard.ui',"examples/icon.png")main_form.window.show()sys.exit(app.exec_())
Windows资源管理器扩展
这将在“资源管理器”上下文菜单中创建一个新条目。 所以右键单击任何文件夹或用户的桌面 也将显示您的自定义操作。此示例创建 一个自定义操作“Run CMD”,打开一个终端。在
fromGUISpicesimportExplorerContextManagerExplorerContextManager.register_entry("Run CMD","C:\\Windows\\System32\\cmd.exe","C:\\Windows\\System32\\cmd.exe")
无边界可拖动窗口
这将在“资源管理器”上下文菜单中创建一个新条目。 所以右键单击任何文件夹或用户的桌面 也将显示您的自定义操作。此示例创建 一个自定义操作“Run CMD”,打开一个终端。在
fromPySide2.QtWidgetsimportQApplicationfromPySide2.QtCoreimportQtimportsysfromGUISpicesimportUIWindow,DragBarapp=QApplication()main_form=UIWindow('examples/wizard.ui',"examples/icon.png")# This line makes your window borderlessmain_form.window.setWindowFlags(Qt.FramelessWindowHint)# This adds a special Class to it, making it movable (via drag)DragBar(main_form.window)main_form.window.show()sys.exit(app.exec_())
- 项目
标签: