神剑山庄资源网 Design By www.hcban.com
首先,下面贴上designer处理的界面文件(转换成py后的):
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'TabWidget.ui' # # Created by: PyQt5 UI code generator 5.12.1 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setGeometry(QtCore.QRect(110, 60, 521, 411)) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.tabWidget.addTab(self.tab_2, "") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Tab 1")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Tab 2"))
然后,开始处理这个控件:
1、如何将控件最上面的小tab变成透明的?
# -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QMainWindow from TabWidget import Ui_MainWindow class ChangeTabColor(Ui_MainWindow, QMainWindow): def __init__(self): super(ChangeTabColor, self).__init__() self.setupUi(self) self.setFixedSize(self.width(), self.height()) self.tabWidget.setTabsClosable(True) str = "QTabBar::tab{background-color:rbg(255,255,255,0);}" self.tabWidget.setStyleSheet(str) def ui_main(): app = QApplication(sys.argv) w = ChangeTabColor() w.show() sys.exit(app.exec_()) if __name__ == '__main__': ui_main()
其中,下面这两句话是将控件的上面的小tab变成透明的关键。
str = "QTabBar::tab{background-color:rbg(255,255,255,0);}" self.tabWidget.setStyleSheet(str)
2、如何在选中小tab的时候突出选中的部分(改变颜色)?
还是上面的代码不变,其中str部分加上点内容,改成如下语句:
str = "QTabBar::tab{background-color:rbg(255,255,255,0);}" + "QTabBar::tab:selected{color:red;background-color:rbg(255,200,255);} "
3、如何处理小tab的点击事件?
在上面的代码中加入一些语句即可实现。
def __init__(self): super(ChangeTabColor, self).__init__() self.setupUi(self) self.setFixedSize(self.width(), self.height()) self.tabWidget.setTabsClosable(True) str = "QTabBar::tab{background-color:rbg(255,255,255,0);}" + "QTabBar::tab:selected{color:red;background-color:rbg(255,200,255);} " self.tabWidget.setStyleSheet(str) self.tabWidget.currentChanged.connect(self.slot_small_tab) def slot_small_tab(self): if self.tabWidget.currentIndex() == 0: print('666') elif self.tabWidget.currentIndex() == 1: print('222') else: pass
未完待续。。。
以上这篇对pyqt5中QTabWidget的相关操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
pyqt5,QTabWidget
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无对pyqt5中QTabWidget的相关操作详解的评论...
更新日志
2024年11月06日
2024年11月06日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]