我找不到以下问题的任何信息:是否有可能在设计时中为QTableWidget的列设置宽度。当我在文本编辑器中打开ui
- 文件时,我发现,列的声明如下:
<column>
<property name="text" >
<string>My column name</string>
</property>
</column>
我尝试添加一些属性,例如width
,但没有成功。
我在qtcentre.org找到的唯一问题是this。但不幸的是,它没有答案。
感谢您的建议(即使它是“您不能”)。
P.S。请不要回答,我可以在运行时这样做:
table->headerView()->resizeSection( columnIdx, width );
答案 0 :(得分:3)
这是不可能的,至少不是Qt Designer 2.5.2。 Designer仅提供有限的自定义设置。
答案 1 :(得分:1)
正如@UmNyobe所说,设计师无法做到这一点,但你可以使用这个技巧至少在视觉上将宽度设置为你想要的。
将此代码添加到对话框的析构函数中,它将打印出每列的列宽,以及树窗口小部件的宽度和对话框本身。
SettingsDialog::~SettingsDialog()
{
QHeaderView *header = ui.treeWidget->header();
for (int ii = 0; ii < header->count(); ++ii) {
qDebug() << "column" << ii << ":" << header->sectionSize(ii);
}
qDebug() << "tree widget width: " << ui.treeWidget->width() << ", dialog width:" << width();
}
那么你可以运行你的程序,将列宽调整到你想要的,当你关闭对话框时,它会打印出你需要的宽度,如下所示:
column 0 : 110 column 1 : 110 column 2 : 110 column 3 : 110 tree widget width: 440 , dialog width: 543
它并不多,但比没有视觉反馈的情况下猜测宽度看起来更好。