Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

时间:2024-05-22 14:35:30

1、代码下载地址:https://download.****.net/download/higher80/10580606

2、用到的工具:pyqt或者qt的 QToolBar 和 QToolButton工具。

3、实现的效果:

(1)主界面出现工具栏,且工具栏里每个工具同时出现图标和文字;当然,也可以把工具栏设置为只显示图标huo或者文字。如下图1。另外,在工具栏里可以出现一个或多个“工具条”  ,如下图1中红框1和2;同时,还可以在一个 “工具条” 设置分隔符,如下图1红框3,可以设置1个或多个分隔符。具体见上面1中下载代码里的 test_03.py 、 test_04.py  和 test_05.py 文件。本人倾向于用test_05.py 文件。

(2)还有,下图1红框1里的“退出”按钮还实现了“信号与曹”的功能,具体实现代码见上面1中下载代码里的 test_03.py、 test_04.py 和 test_05.py 文件。本人倾向于用 test_05.py 文件。

(3)再者,如下图2和3里的红框,程序还实现了工具栏部分按钮按下后出现“下沉”的效果;而且,如下图2和3红框所示,实现了2个按钮彼此按下自己后对方自动“浮起”效果;再者,还实现了按钮按下后再重复按始终“下沉”的效果;再者,可以实现程序初始化时按钮是“下沉”还是“浮起”效果。这个效果的应用场景:比如,刘*杰(导师:刘*斌)的硕士论文《动态监测指标在预测预警开发指标中的应用研究》里面开发的软件,在几个主要功能模块相互切换时,就用了工具栏的按钮来切换功能模块(切换和载入子窗体),如下图4和5里的红框。

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                                  图1  

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                 图2

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                      图3

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                       图4

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                        图5

(3)关于工具栏实现的方法,还可以在 Qt Designer 里实现,见下图6红框1和2。上面1里有下图2的ui文件和py代码,见文件 mainform.ui 和 mainform.py;其中,可以仔细阅读 mainform.ui  生成的代码 mainform.py 来了解用代码实现工具栏的方法。

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                       图6

(3)关于工具栏上的按钮(QToolButton)实现方法,还可以在 Qt Designer 里实现,见下图7红框1和2,红框3是按钮(QToolButton)属性设置,可以直观的查看它有哪些属性,然后用代码实现。上面1里有下图7的ui文件和py代码,见文件 mainform2.ui 和 mainform2.py;其中,可以仔细阅读 mainform2.ui  生成的代码 mainform2.py 来了解用代码实现工具栏里按钮(QToolButton)的方法和设置按钮属性的方法,也可以见下图8的红框1和2。

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                图7

Python3.x+Pyqt5实现主窗体里的工具栏,且工具栏里可以同时显示图标和文字

                                                                                                  图8