對(duì)pyqt5中QTabWidget的相關(guān)操作詳解
首先,下面貼上designer處理的界面文件(轉(zhuǎn)換成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"))
然后,開始處理這個(gè)控件:
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變成透明的關(guān)鍵。
str = "QTabBar::tab{background-color:rbg(255,255,255,0);}"
self.tabWidget.setStyleSheet(str)

2、如何在選中小tab的時(shí)候突出選中的部分(改變顏色)?
還是上面的代碼不變,其中str部分加上點(diǎn)內(nèi)容,改成如下語句:
str = "QTabBar::tab{background-color:rbg(255,255,255,0);}" + \
"QTabBar::tab:selected{color:red;background-color:rbg(255,200,255);} "

3、如何處理小tab的點(diǎn)擊事件?
在上面的代碼中加入一些語句即可實(shí)現(xiàn)。
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
未完待續(xù)。。。
以上這篇對(duì)pyqt5中QTabWidget的相關(guān)操作詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python GUI庫圖形界面開發(fā)之PyQt5表格控件QTableView詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5打印控件QPrinter詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5狀態(tài)欄控件QStatusBar詳細(xì)使用方法實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5計(jì)數(shù)器控件QSpinBox詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5多行文本框控件QTextEdit詳細(xì)使用方法實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5復(fù)選框控件QCheckBox詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5滑塊條控件QSlider詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5工具欄控件QToolBar的詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5菜單欄控件QMenuBar的詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5日期時(shí)間控件QDateTimeEdit詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5下拉列表框控件QComboBox詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5控件數(shù)據(jù)拖曳Drag與Drop詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5圖片顯示控件QPixmap詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5打開保存對(duì)話框QFileDialog詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5輸入對(duì)話框QInputDialog詳細(xì)使用方法與實(shí)例
- python GUI庫圖形界面開發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例
相關(guān)文章
python 連接各類主流數(shù)據(jù)庫的實(shí)例代碼
下面小編就為大家分享一篇python 連接各類主流數(shù)據(jù)庫的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Python matplotlib繪制散點(diǎn)圖的實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python matplotlib繪制散點(diǎn)圖的相關(guān)資料,所謂散點(diǎn)圖就是反映兩組變量每個(gè)數(shù)據(jù)點(diǎn)的值,并且從散點(diǎn)圖可以看出它們之間的相關(guān)性,需要的朋友可以參考下2021-06-06
python對(duì)XML文件的操作實(shí)現(xiàn)代碼
這篇文章主要介紹了python對(duì)XML文件的操作實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
python使用psutil模塊獲取系統(tǒng)狀態(tài)
作為程序猿,大家可能都熟悉linux系統(tǒng)的基礎(chǔ)信息獲取方法都是通過shell來獲取,但是在python中,我們還可以使用psutil模塊來獲取系統(tǒng)信息。psutil模塊把shell查看系統(tǒng)基礎(chǔ)信息的功能都包裝了下,使用更加簡(jiǎn)單,功能豐富。2016-08-08
pycharm 使用心得(五)斷點(diǎn)調(diào)試
PyCharm 作為IDE,斷點(diǎn)調(diào)試是必須有的功能。否則,我們還真不如用純編輯器寫的快。2014-06-06
深入學(xué)習(xí)Python可變與不可變對(duì)象操作實(shí)例
Python中的數(shù)據(jù)類型可以分為可變對(duì)象和不可變對(duì)象,了解它們之間的區(qū)別對(duì)于編寫高效的Python代碼至關(guān)重要,本文將詳細(xì)介紹可變對(duì)象和不可變對(duì)象的概念,以及如何正確地使用它們來提高代碼的性能和可讀性2023-12-12

