0
我使用QTreeView::resizeColumnToContents(int column)
如何设置QTreeView的最大宽度resizeColumnToContents?
,但如果我做得一样
if (t->columnWidth(0) > 10) {
t->setColumnWidth(0, 10);
}
它不工作,我怎么能设置最大宽度甚至有后呢?
我使用QTreeView::resizeColumnToContents(int column)
如何设置QTreeView的最大宽度resizeColumnToContents?
,但如果我做得一样
if (t->columnWidth(0) > 10) {
t->setColumnWidth(0, 10);
}
它不工作,我怎么能设置最大宽度甚至有后呢?
这将是值得检查是否if语句得到执行或者如果指针t是能够修改该对象。
我修改了Qt演示“simpletreemodel”以使用此功能,它工作正常。我为此使用Qt 5.7.0。
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(simpletreemodel);
QApplication app(argc, argv);
QFile file(":/default.txt");
file.open(QIODevice::ReadOnly);
TreeModel model(file.readAll());
file.close();
QTreeView view;
view.setModel(&model);
view.setWindowTitle(QObject::tr("Simple Tree Model"));
std::cout<< view.columnWidth(0) <<std::endl;
if (view.columnWidth(0) <= 100)
{
std::cout<< "resizing column width >> ";
view.resizeColumnToContents(0);
std::cout<< view.columnWidth(0) <<std::endl;
if (view.columnWidth(0) > 250)
{
std::cout<< "oops! This is too much.. (max width = 250)" <<std::endl;
view.setColumnWidth(0,250);
}
}
std::cout<< view.columnWidth(0) <<std::endl;
view.show();
return app.exec();
}
从上面的输出是:
100
resizing column width >> 269
oops! This is too much.. (max width = 250)
250
一些详细信息,这将是很好。
您在这里设置最大列宽。这是打算? “(宽度 - >列宽度(0)<10){//...}wod_beaminiμmwidth。无论如何,您只需简单地设置最小宽度就可以设置最小宽度。无论如何,你可以简单地在header中设置minimumSectionSize:t-> header() - > setMinimumSectionSize(10);'会在没有条件表达式的情况下执行你正在查找的内容 – Lifeisabug