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...