QT 實現下拉核取方塊

2021-10-23 14:57:53 字數 2590 閱讀 7516

1.ui放置qcombbox控制項

2.標頭檔案新增qlineedit和qlistwidget

private slots:

void

statechanged

(int state)

;//響應選擇核取方塊槽函式

void

textchanged

(const qstring &text)

;//將選中資訊顯示在編輯框中

private

:void

drawstatuscomb()

;//繪製狀態下拉核取方塊

private

: qlineedit *m_statuslneedit;

//編輯框

qlistwidget *m_plistwidget;

//下拉列表

bool bselected;

qstring strselectedtext;

//選中項文字資訊

3.cpp檔案實現

繪製核取方塊

//繪製狀態下拉核取方塊

void cmorecondition::

drawstatuscomb()

else

qcheckbox *pcheckbox =

newqcheckbox

(this);

pcheckbox-

>

settext

(s_statusstr[i]);

pcheckbox-

>

setstylesheet

(statuscheckbox)

;//設定下拉選項的文字顏色

pcheckbox-

>

setchecked

(true);

m_plistwidget-

>

additem

(pitem)

; m_plistwidget-

>

setitemwidget

(pitem, pcheckbox)

;//核取方塊嵌入qlistwidget

//響應狀態變化

connect

(pcheckbox,

signal

(statechanged

(int))

,this

,slot

(statechanged

(int))

);} ui-

>m_statuscomb-

>

setmodel

(m_plistwidget-

>

model()

);//將qlistwidget模型嵌入到qcombbox控制項

ui->m_statuscomb-

>

setview

(m_plistwidget)

; m_statuslneedit =

newqlineedit

(this);

ui->m_statuscomb-

>

setlineedit

(m_statuslneedit)

;//設定編輯框

m_statuslneedit-

>

setreadonly

(true);

//編輯框唯讀

//響應文字變化

connect

(m_statuslneedit,

signal

(textchanged

(const qstring &))

,this

,slot

(textchanged

(const qstring &))

);statechanged(0

);//預設是選中狀態,所以要初始化編輯框

}

響應下拉選項狀態變化

//響應選擇核取方塊槽函式

void cmorecondition::

statechanged

(int state)}if

(strselecteddata.

endswith

(","))

strselecteddata.

remove

(strselecteddata.

count()

-1,1

);if(

!strselecteddata.

isempty()

)else

bselected =

false

;}

響應文字變化

//將選中資訊顯示在編輯框中

void cmorecondition::

textchanged

(const qstring &text)

4、實現效果圖

layui新增核取方塊 layui核取方塊使用介紹

layui核取方塊 效果圖layui核取方塊,乙個主的核取方塊控制多個從核取方塊,主核取方塊和從核取方塊的顏色不一樣 layui核取方塊的樣式,都是在選然後才會有的,所以直接通過css設定就實現不了了。只可以通過js動態設定 html 使用了jfinal的模板 i18n.get 所屬校區 for c...

layui新增核取方塊 layui核取方塊使用介紹

layui核取方塊 效果圖layui核取方塊,乙個主的核取方塊控制多個從核取方塊,主核取方塊和從核取方塊的顏色不一樣 layui核取方塊的樣式,都是在選然後才會有的,所以直接通過css設定就實現不了了。只可以通過js動態設定 html 使用了jfinal的模板 i18n.get 所屬校區 for c...

Qt之QHeaderView加入核取方塊

前面分享了qtableview中怎樣加入核取方塊。本節主要介紹qtableview中的表頭 qheaderview加入核取方塊的功能,以下以水平表頭為例。垂直表頭相似!qabstracttablemodel使用 槽函式,用於更新核取方塊狀態 void tableheaderview onstatec...