4 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
Qt幫助文檔里都是用QTabView顯示QSqlQueryModel里的數(shù)據(jù)的,
真要按內(nèi)容改寬度很麻煩,因?yàn)椴煌瑪?shù)據(jù)長度差距太大,從幾字節(jié)到幾百字節(jié)可能都有。
所以可以間接一點(diǎn)處理,你對(duì)列寬合適的寬度做一個(gè)估值,
比如顯示日期加時(shí)間20字節(jié)的樣子,大概寬度比如200,
用QTableView 的:
void QTableView::setColumnWidth ( int column, int width )
把每個(gè)列寬估計(jì)一個(gè)寬度,設(shè)置一下每個(gè)列寬,
看起來差不多就行了。
又找了一下,好像找到你要的函數(shù)了:
void QTableView::resizeColumnsToContents () [slot]
Resizes all columns based on the size hints of the delegate used to render each item in the columns.
Resizes all rows based on the size hints of the delegate used to render each item in the rows.
你調(diào)用resizeColumnsToContents函數(shù)試試看效果。

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
QHeaderView *headerView = tableView->verticalHeader();
headerView->setHidden(true);
QStringList header;
header<<tr("Name")<<tr("Path")<<tr("隨便改");
tableView->setHorizontalHeaderLabels(header);

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
ui->tableView->setSortingEnabled(true);
ui->tableView->horizontalHeader()->setSortIndicator(1,Qt::AscendingOrder);
QSortFilterProxyModel *sqlproxy = new QSortFilterProxyModel(this);
sqlproxy->setSourceModel(m_model);
ui->tableView->setModel(sqlproxy);
- 4 回答
- 0 關(guān)注
- 531 瀏覽
添加回答
舉報(bào)