QTableWidget設定列寬大小的幾種方式

2021-10-02 15:54:48 字數 2297 閱讀 6467

ui->tablewidget_1->horizontalheader()->setsectionresizemode(qheaderview::stretch);

ui->tablewidget_1->horizontalheader()->setsectionresizemode(0, qheaderview::interactive);

ui->tablewidget_1->verticalheader()->setsectionresizemode(qheaderview::stretch);

我們在使用qtablewidget的時候,經常會出現列寬大小和我們想象不一致的情況,如下圖:

內容不能完全顯示,需要手動調整列寬才能顯示完全。

還有如下圖:

列寬自動分配

self.tablewidget.horizontalheader().setsectionresizemode(qheaderview.stretch)

# self.tablewidget.verticalheader().setsectionresizemode(qheaderview.stretch)

效果如下:

此種模式下,我們沒法手動調整列寬

手動調整

self.tablewidget.horizontalheader().setsectionresizemode(qheaderview.interactive)
效果如下:

使用qt設計師編譯後生成的**就是這種的。

固定值

self.tablewidget.horizontalheader().setsectionresizemode(qheaderview.fixed)
效果如下:

使用者無法調整該部分的大小。該部分只能使用resizesection()以程式設計方式調整大小。節大小預設為defaultsectionsize。

self.tablewidget.horizontalheader().setsectionresizemode(qheaderview.stretch)

self.tablewidget.horizontalheader().setsectionresizemode(0, qheaderview.resizetocontents)

我們把它和列寬自動分配結合在一起看,效果立馬顯現。

效果如下:

上面兩種方式結合

self.tablewidget.horizontalheader().setsectionresizemode(qheaderview.stretch)

self.tablewidget.horizontalheader().setsectionresizemode(0, qheaderview.interactive)

效果如下:

看到沒有,列寬是自動分配的,但是第一列我們可以手動調整寬度,而**整體的列寬仍是自動分配的。第

二、三列我們沒有辦法調整列寬,這個是自動分配的。

自定義列寬

self.tablewidget.setcolumnwidth(0, 40)

self.tablewidget.setcolumnwidth(1, 200)

self.tablewidget.setcolumnwidth(2, 200)

效果如下:

PyQt5 QTableWidget列寬設定方法

幾種設定模式 先介紹一下 setdefaultsectionsize 設定固定列寬為80 table obj.horizontalheader setdefaultsectionsize 80 內建調整模式 使用者可調整,預設值為setdefaultsectionsized的值 table obj....

QTableWidget 搜尋實現

文章目錄 隱藏 新增乙個 qlineedit,連線它的 textchanged 事件,在 textchanged 槽函式中編寫方法,方法內容如下。ui tbwgtrelation setrowhidden i,browhidden 核心 此方式是設定行隱藏和顯示具體根據第二個引數void relat...

QTableWidget 樣式檔案

qt樣式檔案可以方便的對介面進行美化。本篇文章記錄qtablewidget的樣式規則 qtablewidget background transparent 背景色 border 1px solid red 邊框 gridline color rgb 127,127,127 網格線顏色 qtable...