您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“pyqt5中QTabWidget相關操作的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“pyqt5中QTabWidget相關操作的示例分析”這篇文章吧。
首先,下面貼上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相關操作的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。