QT學習記錄 QTableWidget的使用

2021-10-04 04:12:07 字數 2147 閱讀 5194

qtablewidget *tablewidget =

newqtablewidget(12

,3,this);

//行數,列數

tablewidget-

>

horizontalheader()

->

sethidden

(false);

//有時候執行出來表頭消失了,寫這一句預防

tablewidget-

>

horizontalheader()

->

setminimumheight

(ui-

>tablewidget-

>

height()

/3);

//設定橫向表頭

tablewidget-

>

setcolumnwidth()

;//設定寬度

tablewidget-

>

setrowcount(10

);//設定行數

tablewidget-

>

setcolumncount(5

);//設定列數

tablewidget-

>

setverticalheaderlabels

(const qstringlist &labels)

;//設定豎向表頭名

tablewidget-

>

sethorizontalheaderlabels

(const qstringlist &labels)

;//設定橫向表頭名

//設定元素節點值

qtablewidgetitem *newitem =

new qtablewidgetitem;

newitem-

>

settext

("10");

//設定元素節點關聯資料

qvariant test;

test.setvalue

("hell0");

newitem-

>

setdata

(qt::userrole,test)

;//將元素節點新增到**中

tablewidget-

>

setitem(1

,1,newitem)

;//取出節點值

qstring str = tablewidget-

>

item(1

,1)-

>

text()

;qstring data = tablewidget-

>

item(1

,1)-

>

data

(qt::userrole)

.tostring()

;//新增widget控制項

setcellwidget

(int row,

int col, qwdiget *widget)

;

注意:

直接使用setrowcount(int number)設定**函式的話,在對單元格操作時,要先qtablewidgetitem *item = new qtablewidgetitem(); setitem(row,column,item);然後再進行操作,否則執行會中斷

或者直接在新增insertrow(row)時,遍歷columncount(),將該行每個單元格都new 乙個qtablewidgetitem,這樣在後面直接就可以settext()或者setbackground()等操作

// 設定**隔行換色,繼承自qtableview

tablewidget-

>

setalternatingrowcolors

(true

);

樣式表:

//表頭

qheaderview::section

//橫向表頭和縱向表頭的交點

qtablecornerbutton::section

//表qtableview

QT學習記錄一

好了,現在開始記錄我學習qt的學習歷程 本人也不是計算機專業出來的,自學了一點,但還是不好找工作,於是參加了培訓,雖然感覺沒多學到什麼 程式設計的學習生涯就是不斷的看別人的原始碼,然後自己參考著寫寫自己的,把別人的好東西收集起來,等自己某一次需要的時候,知道有這個技巧可以用,就非常完美了。在我看來,...

Qt學習記錄七

在使用qt作為介面開發有個好處,就是qt有個機制可以使介面語言翻譯成不同國家的語言,這就是qt國際化。qt國際化使用的方式 1.首先是把所有需要翻譯的字串都用tr 包起來,因為qt會在載入的時候通過這個呼叫去判斷是否是需要翻譯的字串,另外也可以使用q translator translate函式翻譯...

QT學習記錄 QDockWidget

設定浮動視窗顯示大小,可以在dock裡面放一些其他控制項,然後設定這些控制項的大小,如 qdockwidget dock newqdockwidget qstring dock this 建立乙個浮動視窗 qgroupbox box newqgroupbox this 建立乙個容器 box setm...