一、qtableview設置列寬無效
在使用qtableview的過程中,有時我們會遇到設置列寬無效的問題。首先我們可以檢查一下代碼中是否正確設置了列寬,如下設置列寬為100:
table->setColumnWidth(0, 100);
如果代碼正確無誤,但仍然無效,那麼我們可以考慮設置stretchLastSection屬性。
table->horizontalHeader()->setStretchLastSection(true);
設置該屬性後,最後一列會自適應拉伸,以填滿表格空間。
二、qtableview設置表頭
qtableview的表頭是通過horizontalHeader()方法獲取的,並且可以設置表頭的具體內容,如下:
table->horizontalHeader()->setVisible(true); table->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter); table->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Age") <horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); 上述代碼設置了表頭的可見性,對齊方式,以及具體的表頭內容和列寬自適應方式。
三、qtablewidget設置列寬比例
與qtableview相似的還有qtablewidget,它也可以設置列寬比例。我們可以通過設置水平方向的最小列寬、最大列寬以及每列之間的比例,來達到設置表格列寬的目的。
widget->horizontalHeader()->setMinimumSectionSize(50); widget->horizontalHeader()->setMaximumSectionSize(100); widget->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive); widget->horizontalHeader()->setStretchLastSection(true); widget->horizontalHeader()->setResizeMode(0, QHeaderView::ResizeToContents); widget->horizontalHeader()->setResizeMode(1, QHeaderView::Stretch);上述代碼設置了每列的最小和最大寬度,以及第一列的寬度自適應和第二列的自動拉伸。
四、qtreeview設置列寬
qtreeview可以使用resizeColumnToContents()方法來自適應列寬,也可以使用setColumnWidth()方法來手動設置列寬。
tree->resizeColumnToContents(0); tree->resizeColumnToContents(1); tree->setColumnWidth(2, 100);上述代碼演示了自適應第一、第二列的列寬,並手動設置第三列的寬度為100。
五、設置qtablewidget選取
我們也可以設置qtablewidget的選取方式以及選取行為。
widget->setSelectionBehavior(QAbstractItemView::SelectRows); widget->setSelectionMode(QAbstractItemView::SingleSelection);上述代碼設置了選擇行為為單選,並且只能選中整行。
原創文章,作者:UBSZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134683.html
贊 (0)打賞微信掃一掃
支付寶掃一掃
js檢測cpu,js檢測數組上一篇 2024-10-04 00:07catia打開dwg圖紙顯示不正常的簡單介紹下一篇 2024-10-04 00:07