QT QTabWidget Tabar设置图标

QT QTabWidget Tabar设置图标的三种方式;多个tab标签设置图标

  • 一、通过setStyleSheet样式表设置Tabar图标
  • 二、通过setTabIcon函数设置图标
  • 三、通过修改.ui文件更换图标


在用QT做界面的系统设置时,想用QTableWidget控件做界面切换,以下是在做的过程中找到的设置表头标签图标的方法。


一、通过setStyleSheet样式表设置Tabar图标

ui->tabWidget->setStyleSheet(
	"QTabWidget{background: #f0f0f0;}"
	"QTabBar::tab{background:transparent;color:black;font:22px;    min-width:200px;min-height:60px;}"
	"QTabBar::tab:first:selected{border-image:url(:/bed/image/setting/setting_network_detect_down.png);}"
	"QTabBar::tab:first{border-image:url(:/bed/image/setting/setting_reset_down.png);}"
	
	"QTabBar::tab:middle:selected{border-image:url(:/bed/image/setting/setting_network_down.png);}"
	"QTabBar::tab:middle{border-image:url(:/bed/image/setting/setting_language_down.png);}"
	
	"QTabBar::tab:last:selected{border-image:url(:/bed/image/setting/setting_password_down.png);}"
	"QTabBar::tab:last{border-image:url(:/bed/image/setting/setting_reset_down.png);}"
	);

QT QTabWidget Tabar设置图标_第1张图片
这种方式目前我只找到只能设置开头、中间和结尾的tab标签,中间的tab标签都是一样的,所以最多只能设置三种不同的标签。

二、通过setTabIcon函数设置图标

代码如下:

    QPixmap pic1(":/bed/image/setting/setting_network_detect_down.png");
    QPixmap pic2(":/bed/image/setting/setting_network_down.png");
    QPixmap pic3(":/bed/image/setting/setting_password_down.png");
    QPixmap pic4(":/bed/image/setting/setting_platform_down.png");
    QPixmap pic5(":/bed/image/setting/setting_language_down.png");
    QPixmap pic0(":/bed/image/setting/setting_reset_down.png");
    ui->tabWidget->setTabIcon(0,pic1);
    ui->tabWidget->setTabIcon(1,pic2);
    ui->tabWidget->setTabIcon(2,pic3);
    ui->tabWidget->setTabIcon(3,pic4);
    ui->tabWidget->setTabIcon(4,pic5);

QT QTabWidget Tabar设置图标_第2张图片
通过setTabIcon可设置不同的标签,但对于选中标签时要做图片更换则需要另外写代码。

三、通过修改.ui文件更换图标

QT QTabWidget Tabar设置图标_第3张图片
在ui文件的属性框currentTabIcon属性可以设置tab标签选中以及未选中状态的图标。此方式可设置多个不同的标签图标,且可更换选中及未选中状态图标。


你可能感兴趣的:(css,qt,c++)