說起右鍵選單,之前qt之自定義qlineedit右鍵選單
這篇文章中我已經講述過3種右鍵選單的實現方式,今兒也是在囉嗦一下,針對qlistwidget類在定製一下右鍵選單,我使用的具體方式呢,是直接重寫了contextmenuevent方法,在這個方法中彈出右鍵選單。
如圖1是針對qlistwidget定製的右鍵選單,美觀程度一般,但是功能基本實現
圖1 qlistwidget右鍵選單
listitem是定製的item項,使用setitemwidget介面設定為qstandardlistwidgetitem項的視窗
1、刪除,首先獲取當前項,然後獲取獲取當前項上的視窗,並把其析構
12、置頂,這個操作需要注意,如果當前項已經是第乙個,那麼不需要做任何處理void
draglist::deletesotck()28
9if (listitem * itemwidget =itemwidget(item))
1014
15delete
item;
16 item =nullptr;
17 }
13、置低,同樣的道理,如果當前項是最後乙個,那麼也不需要做處理void
draglist::topsotck()28
9if (row(item) == 0)10
1314 listitem * itemwidget =itemwidget(item);
15 qlistwidgetitem * newitem =takeitem(row(item));
16 insertitem(0
, newitem);
17 listitem * topwidget = new
listitem;
18 topwidget->setdata(itemwidget->getdata());
19setitemwidget(newitem, topwidget);
2021
if(itemwidget)
2226
setcurrentitem(newitem);
27 }
14、上移一位void
draglist::bottomsotck()28
9if (row(item) == count() - 1)10
1314 listitem * itemwidget =itemwidget(item);
15 qlistwidgetitem * newitem =takeitem(row(item));
16additem(newitem);
17 listitem * bottomwidget = new
listitem;
18 bottomwidget->setdata(itemwidget->getdata());
19setitemwidget(newitem, bottomwidget);
2021
if(itemwidget)
2226
setcurrentitem(newitem);
27 }
15、下移一位void
draglist::upsotck()28
9int itemrow =row(item);
10if (itemrow == 0)11
1415 listitem * itemwidget =itemwidget(item);
16 qlistwidgetitem * newitem =takeitem(row(item));
17 insertitem(itemrow - 1
, newitem);
18 listitem * upwidget = new
listitem;
19 upwidget->setdata(itemwidget->getdata());
20setitemwidget(newitem, upwidget);
2122
if(itemwidget)
2327
28setcurrentitem(newitem);
29 }
1qt之qabstractitemview檢視右鍵選單void
draglist::downsotck()28
9int itemrow =row(item);
10if (itemrow == count() - 1)11
1415 listitem * itemwidget =itemwidget(item);
16 qlistwidgetitem * newitem =takeitem(row(item));
17 insertitem(itemrow + 1
, newitem);
18 listitem * downwidget = new
listitem;
19 downwidget->setdata(itemwidget->getdata());
20setitemwidget(newitem, downwidget);
2122
if(itemwidget)
2327
setcurrentitem(newitem);
28 }
qt之自定義qlineedit右鍵選單
qt之選單項定製
qt 彈出式選單陰影
qt之預設選單語言設定
QT之Qt之Q PROPERTY巨集理解
qt中的q property巨集在qt中是很常用的,那麼它有什麼作用呢?qt提供了乙個絕妙的屬性系統,q property 是乙個巨集,用來在乙個類中宣告乙個屬性property,由於該巨集是qt特有的,需要用moc進行編譯,故必須繼承於qobject類。q property type name r...
Qt系列 之Qt之打包發布
date 2019 1 31 發布方式 qt發布的時候,通常使用兩種方式 1 靜態編譯 2 動態編譯 靜態編譯 把相關聯的庫一併引入可執行程式,雖然發布簡單,但可執行程式較大。動態編譯 相關聯的庫,以dll的形式引用,不被包含進可執行程式,發布不方便,但可執行程式較小。靜態發布雖然不需要較多的dll...
QT庫學習之安裝QT庫
qt是什麼,qt是乙個1991年由奇趣科技開發的跨平台 c 圖形使用者介面 應用程式 開發框架。它既可以開發 gui程式,也可用於開發非gui程式,比如控制台工具和伺服器。qt是 物件導向 的框架,使用特殊的 生成擴充套件 稱為元物件編譯器 meta object compiler,moc 以及一些...