• 7071阅读
  • 3回复

[提问]tabbed dock widget   标签页 如何显示图标 [复制链接]

上一主题 下一主题
离线wjh13hao
 

只看楼主 倒序阅读 楼主  发表于: 2011-10-14
tabifydockwidget(dock1,dock2),形成标签页的形式,如何自定义标签页
window.open('http://www.qtcn.org/bbs/attachment/Mon_1110/17_121323_7f9217acfbe0088.png?2');" style="max-width:700px;max-height:700px;" onload="if(is_ie6&&this.offsetWidth>700)this.width=700;" > 如图,dock  和 dock1 两个 tabbed 的dockwidget, 我想在名字前加入图标,mainwindow帮我自动生成这个tabbar,可以自定义么?大家帮帮忙,谢谢了

离线zhy282289
只看该作者 1楼 发表于: 2011-10-14
我还想把这个些放上面呢,怎么放?
为什么我脸这么胖~
离线wjh13hao

只看该作者 2楼 发表于: 2011-10-14

  1. static QMap<QString,QString> mapgif;
  2. mapgif.insert(ui->dockWidget->windowTitle(),QString(":/File/59/35.gif"));
  3. mapgif.insert(dock1->windowTitle(),QString(":/File/59/25.gif"));
  4. mapgif.insert(dock2->windowTitle(),QString(":/File/59/08.gif"));
  5. mapgif.insert(ui->dockWidget_2->windowTitle(),QString(":/File/59/36.gif"));
  6. for(int i = 0; i < findChildren<QTabBar*>().size(); ++i)
  7. {
  8.        QTabBar * tab = findChildren<QTabBar*>().at(i);
  9.       for(int j = 0; j < tab->count(); ++j)
  10.      {
  11.         QMap<QString,QString>::iterator it = mapgif.begin();
  12.         for(; it != mapgif.end(); ++it)
  13.           if(tab->tabText(j) == it.key())
  14.          {
  15.             QMovie * m = new QMovie(it.value());
  16.             QLabel *l = new QLabel;
  17.             l->setMovie(m);
  18.             l->movie()->start();
  19.             tab->setTabButton(j,QTabBar::LeftSide,l);
  20.           }
  21.        }
  22. }



用了很笨的方法实现了,不知道还有没有方便一点的方法啊?
离线hanheyfon

只看该作者 3楼 发表于: 2016-09-26
mark!
快速回复
限100 字节
 
上一个 下一个