qtcn上有人問,複雜列表控制項怎麼做?
控制項布局如下圖,求指點思路
有高手指點如下,
紅框圈起來的是qlabel,1個進度條,2個按鈕(toolbutton),1個布局,1個qwidget(容器),組成乙個widget。
放進qlistwidget裡。進度條用樣式表美化一下,參考:
其中主要用這個函式:
void qlistwidget::setitemwidget(qlistwidgetitem * item, qwidget * widget)然後應用css樣式美化。
樓主試驗,外面大布局可以用qlistwidget,然後將listitem寫成自定義的控制項集合,用函式setitemwidget()載入就好。
可以將自定義的控制項集單獨寫成乙個類,然後用這個類生成表項。
ui->alarmlistwidget->setresizemode(qlistview::adjust);
ui->alarmlistwidget->setautoscroll(true);
qwidget *wcontainer = new qwidget(ui->alarmlistwidget);
qhboxlayout *hlayout = new qhboxlayout(wcontainer);
qlabel *alarmicon = new qlabel(tr("beih"));
qlabel *placelabel = new qlabel(tr("北京"));
qlabel *videonumlabel = new qlabel(tr("8"));
qlabel *datelabel = new qlabel(tr("2013-4-16"));
qlabel *alarmmsglabel = new qlabel(tr("違章搭建"));
//qpushbutton *pdeletebtn = new qpushbutton(qicon(),tr("delete"));
hlayout->addwidget(alarmicon);
hlayout->addstretch(1);//將空白沒有widget的地方分成了若干份,按比例分配
hlayout->addwidget(placelabel);
hlayout->addstretch(1);
hlayout->addwidget(videonumlabel);
hlayout->addstretch(1);
hlayout->addwidget(datelabel);
hlayout->addstretch(1);//將空白沒有widget的地方分成了若干份,按比例分配
hlayout->addwidget(alarmmsglabel);
hlayout->setcontentsmargins(5,0,0,5);//關鍵**,如果沒有很可能顯示不出來
// wcontainer->setlayout(hlayout);//如果layout在建立時就已經將父視窗指標當引數,那就不用setlayout
wcontainer->resize(350,50);
// wcontainer->show();
qlistwidgetitem *alarmitem = new qlistwidgetitem(ui->alarmlistwidget);
ui->alarmlistwidget->setitemwidget(alarmitem,wcontainer);
Qt定製控制項列表
目錄本帖為持續更新帖,主要展示日常開發中各式各樣的控制項 複雜窗體。本帖中只包含了部分展示效果,更多展示效果後續陸續放出 本帖持續更新。支援元件定製 有償提供原始碼 原有進度條基礎上新增功效,顏色支援配置 支援多種顯示模式,和消失動畫 窗體當大時,字型支援平滑放大 支援凍結列 凍結行 自動行高 合併...
qt實現 標籤控制項
咱先別說啥了,直接上圖 對照圖大體介紹一哈 其實就是乙個視窗設定乙個橫向布局器,左邊乙個label,右邊乙個button 輸入框只要是監視回車事件 外面窗體布局是重點,需要動態去更新布局,動態有兩種 一種是將布局銷毀,重新去new,適合修改複雜布局的窗體 第二種就是動態的去插入 insertwidg...
Qt 控制項實現雙擊事件
qt中很多控制項有雙擊事件的功能,但是還是有些控制項如qwidget,qtabwidget等沒有該事件。解決辦法有兩種 以qtabwidget為例 首先我們繼承qtabwidget class mytabwidget public qtabwidget void mytabwidget moused...