QTableWidget所遇問題總結

2021-10-03 03:37:12 字數 2944 閱讀 3739

在對qtablewiget進行了表頭設定等動作後,**仍無法進行顯示。

原因:在將tablewidget拖至ui介面後,預設只是申請了這樣乙個物件,而該物件的預設行列設定為0,可在qt右下側屬性–qtablewidget中看到,此時行、列值均為0,如下:

調整該值後即可進行顯示。

**不能平鋪佔滿視窗,只顯示一部分,如下圖:

方法一:

解決辦法:新增如下語句

//設定表寬自動填滿且為等寬

ui->tablewidget-

>

horizontalheader()

->

setsectionresizemode

(qheaderview::stretch)

;

解決後介面如下:

解決辦法,設定根據內容大小自適應:

//設定根據內容自適應寬度的列,第1個引數為要自適應的列數

ui->tablewidget-

>

horizontalheader()

->

setsectionresizemode(0

, qheaderview::resizetocontents)

;

解決後介面如下:

注意:不能將整個**都做如下自適應,否則將導致**不能填充整個視窗,如下:

設定水平滾動條,**如下:

//初始列寬,根據表寬均分

ui.tablewidget-

>

setcolumnwidth(0

,ui.tablewidget-

>

width()

/4);

ui.tablewidget-

>

setcolumnwidth(1

,ui.tablewidget-

>

width()

/4);

ui.tablewidget-

>

setcolumnwidth(2

,ui.tablewidget-

>

width()

/4);

ui.tablewidget-

>

setcolumnwidth(3

,ui.tablewidget-

>

width()

/4);

//設定列寬可拖動

ui.tablewidget-

>

horizontalheader()

->

setresizemode

(qheaderview::interactive)

;ui.tablewidget-

>

verticalheader()

->

setresizemode

(qheaderview::interactive)

;//設定table的水平滾動條

ui.tablewidget-

>

sethorizontalscrollbarpolicy

(qt::scrollbaralwayson)

;

一些存在的問題:該方法可以使得在小視窗模式下資料能左右觀察,而不是列佔位大小壓縮狀態,但資料內容仍會被壓縮,如下圖:

可以看到下方出現滾動條,但身份證號碼內容仍被壓縮。

使用該方法後在大視窗模式下,會導致無法平鋪。而若將平鋪**調至滾動條**後,又會導致小視窗模式下不能以滾動條方式顯示,如下圖:

解決辦法待更新!!!

問題如下圖:

只需進行背景顏色(和字型顏色)的設定即可。

//設定表頭背景和字型顏色

ui->tablewidget-

>

horizontalheader()

->

setstylesheet

("qheaderview::section"

);

rgb配色表引數值鏈結

設定後可新增橫線,如下:

[1]. qt qtablewidget **列寬 自動填滿

[2]. rgb配色表引數值鏈結

[3]. 乙個大佬關於qtablewidget的總結

[4]. 關於tablewidget的列寬拖動和滾動條設定

面試所遇問題

一.python中元組合列表有什麼區別?python 的元組與列表類似,不同之處在於元組的元素不能修改,元組中的元素不能被刪除。元組使用小括號,列表使用方括號。二.c 中友元函式的作用?友元函式提供了不同類或物件的成員函式之間 類的成員函式和一般函式之間進行資料共享的機制。通俗的說,友元關係就是乙個...

工作所遇問題總結

入職後,單位給看的第乙個專案 是mfc程式,裡面利用cwintread類來生成乙個工作執行緒,而這個執行緒是可以接收訊息的,這讓我感覺很驚奇,居然還有這樣的技術?這個執行緒可以接收訊息,也可以利用postthreadmessage給主線程傳送訊息,真是讓我感覺新奇。我一定要弄明白,其中的道理!軟體狗...

Python學習所遇問題

print 遊戲開始 num input 猜數字 guess int num while guess 8 num input 猜錯啦請重新輸入 guess int num if guess 8 print 恭喜你猜對了 else if guess 8 print 偏大 else print 偏小 p...