Qt記錄之QTabWidget的使用

2022-10-09 01:15:14 字數 1786 閱讀 8476

qtabwidget實現出來效果就是標籤頁的介面,點選乙個標籤,主介面就展現那個標籤頁的東西。

值得注意的就是以下幾點:

1.qtabwidget::addtab(widget,"title"),增加乙個標籤頁。比如這個widget為qpushbutton,那個增加的標籤頁一整頁就是乙個按鈕。

2.qtabwidget::setlayout(layout),這樣設定,所有標籤頁也是這個布局了,要是layout上有widget,那麼所有標籤頁都展示layout上的widget了。

3.例子裡面,第乙個標籤頁是widget就是乙個新建的qwidget類,要新增元件,就給這個widget設定乙個layout,然後新增widget到layout上即可。第二個標籤頁是qlistwidget,會自己讀取目錄,然後把目錄中的檔案,資料夾展示出來。

#ifndef widget_h

#define widget_h

#define sqs(x) qstring::fromlocal8bit((x).data())

#define tostr(x) string(x.tolocal8bit())

#define qstqs(x) qurl::fromlocalfile(x).tostring()//.remove(0,8)

#define qsurltqs(x) qurl::fromlocalfile(x).url().remove(0,8)

class widget : public qwidget

;#endif // widget_h

#include "widget.h"

widget::widget(qwidget *parent)

: qwidget(parent)

if(m_showtab5)

}widget::~widget()

void widget::choosedir()

else if(item->whatsthis()!="dir")

// return;

qdebug()<<"dir = "path());//去掉之前路徑的監視

dir->cd(item->text());

qdebug()path());//新增新路徑的監視

showfiledir();//切換以後,重新展示即可

}void widget::renamefile()

if(file->currentitem()->whatsthis()=="dir")

else if(file->currentitem()->whatsthis()=="file")

}void widget::deletefile()

else if(file->currentitem()->whatsthis()=="file")

}void widget::copyfile()

if(file->currentitem()->whatsthis()=="dir")

else if(file->currentitem()->whatsthis()=="file")

}void widget::openfile()

}for(int i=0;isetwhatsthis("file");

file->additem(tmp);}}

}bool widget::eventfilter(qobject *watched, qevent *event)}}

return qobject::eventfilter(watched, event);

}

Qt中QTabWidget隱藏某些tab

對於乙個qtabwidget,有時我們需要在不同的狀態下顯示不同的tab,需要隱藏掉某些tab。使用removetab 固然可以做到,但是這樣的話我們再次需要顯示這些tab時再把它們加進去,有時候計算index會很麻煩。所以有沒有什麼辦法可以在不刪除tab的前提下隱藏掉某些tab呢,這樣就能避免再次...

Qt中QTabWidget隱藏某些tab

對於乙個qtabwidget,有時我們需要在不同的狀態下顯示不同的tab,需要隱藏掉某些tab。使用removetab 固然可以做到,但是這樣的話我們再次需要顯示這些tab時再把它們加進去,有時候計算index會很麻煩。所以有沒有什麼辦法可以在不刪除tab的前提下隱藏掉某些tab呢,這樣就能避免再次...

qt 使用記錄

參考 一 解決ubuntu下qtcreator中不能輸入中文的問題 我的qt版本是qt5.9.2,qt creator 版本是qt4.3 解決方法 1.安裝fcitx frontend qt5 sudo apt get install fcitx frontend qt52.複製libfcitxpl...