Python-PyQt-QTabWidget 中关于Tab关闭和添加高级教程

(该教程有单独的pdf文档,关注公众号也可获取。(文末有资料分享))

0.前言

    QTabWidget是PyQt5 中使用较为广泛的容器之一,经常会在日常使用的软件中用到它;QTabwidget是由几个标签组成,每个标签可以当作一个界面,下面就是关于应用Qtabwidget的详细介绍:

1.需求分析:

(1)软件启动,显示主窗口界面,主窗口界面为Home界面,点击Tab3/Tab4按钮,在Tab栏中新增加对应的Tab3、Tab4页面。点击相应的Tab页面,可以切换到对应的页面。

(2)点击对应页面的关闭x,可以关闭该页面。(Home页面可以设置为不关闭)。

(3)为了适应框架的迭代,新增的Tab页面需要对应相应单独的UI界面代码(QT Designer中新建新的QWidget文件)

 

2. QTabwidget介绍:

    QTabwidget中的标签(Tab)也可以通过按钮自行打开和关闭;要实现这种功能,需要两个步骤:

1,给每个标签(Tab)加上关闭按钮,通过 **tabWidget.setTabsClosable(True) **机制实现,

2,给标签(Tab)添加打开功能(打开是针对于每一个Tab)和关闭功能(关闭是统一针对于所有Tab实现的),打开和关闭功能借助的是 Qt 中的信号槽。

3.利用 Qt designer创建UI文件

    Qtabwidget的界面可以用代码实现,也可以用Qt designer制作;这里以Qt designer为例,首先打开Qt designer ,创建主窗口,然后找到左边的导航栏,找到Containers(容器)中的Tab wdiget控件,选中这个控件之后,拖到主窗口Widget当中;

4.增加按钮功能比较简单,从左边导航栏中可以直接添加,

 

4. 调整 TabWidget 的布局方式,把 TabWidget中的在 TabWidget 的边缘处,鼠标右击选择 **Lay out -> Lay Out in a Grid ** 方式,这样控件就可以随着窗口的大小而自适应调整。

5. Tab3页面的布局,新建一个Qwidget文件,窗口布局中随便拖一些控件进来,如日历等。

 

 

3. ui文件转换为py文件:

    保存完毕之后,利用 pyuic5工具把以ui结尾的文件 转化为py文件

 

4.代码运行:

    上一步生成的py文件不可以直接使用,使用时需要在文件的最后加入几行代码来 创建生成入口。由于窗口界面可能需要经常更新,因此入口函数建议用新的文件。

    本次创建一个新的app.py文件,作为主函数,main_windows.py文件为主界面,tab3.py为tab3界面的代码。

(1)class Windows()继承Ui_Mainwindow, Ui_Mainwindow是main_windows.py文件中的Class,

(2)connectSignalsSlots为槽函数,槽函数中包含按钮的点击,以及tab页面的关闭请求。

 

 

(3)add_tab_3函数为点击tab3按钮后运行的函数,该函数将跳转到新的页面。

tab_3 = tab3_Widget(),tab3_Widget()为新定义的一个Class,创建一个继承自相应窗口小部件并填充它的类。

class tab3_Widget(QtWidgets.QWidget, Ui_Form):

该Class中,Ui_Form为tab3.py文件中的一个Class。

 

Main_window.py文件中的类函数:

 

Tab3.py文件中的类函数:

 

6.总结:

    由于软件后期复杂度很高,建议将每个Tab页面对应一个Qwidget的ui文件,在app.py主函数中调用这些ui文件生成的py文件类函数。后续软件进行扩展将很方便。

 

0.白浪介绍:

(1)一位自媒体极客。关于射频、微波、天线、无线通信、智能硬件、软件编程、渗透安全、人工智能、区块链、大数据、Java、Android、C/C++、python等综合能力的培养提升。

(2)各种学习资料、学习软件分享。

 

1.扫码关注公众号(Geekxiaobai)

2. 在后台发送“Python高级编程”“Python Graphics”或者“2003”,即可免费获得电子书籍。仅供学习之用。

3. 扫码关注后,查看往期内容,会有更多资料惊喜等着你来拿哦  

   

  想要更多相关学习资料,可以在文章后面留言哦,后期将会根据留言需求免费分享学习资料哦。

========******=========******========******=========******==========

 

 

  • 9
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值