zoukankan      html  css  js  c++  java
  • QT表格的宽度自适应调整方法void setStretchLastSection ( bool stretch ) 转帖

    为QTableWidget继承有QHeaderView,而QHeaderView有一个方法void setStretchLastSection
    ( bool stretch );
    它的形参为bool 型,可以用来设置是否充满宽度。
    下面是一个例子:
    #include <QtGui/QApplication>#include <QtGui/QTableWidget>
    #include <QtGui/QHeaderView>

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);

    QTableWidget *table = new QTableWidget();
    table->setColumnCount(3);
    table->setRowCount(5);
    table->horizontalHeader()->setStretchLastSection(true); //就是这个地方
    table->show();
    return app.exec();

    }

    *******************************************************/

    这个方法我试了,是能自动完成列头的自动填充,但是有一个缺点:列头中空余的其余部分都是用最后一列来填充的,这样造成的问题就是最后一列很宽,严重影响美观。

    万幸,各位看官,注意了,我用了个万幸。为什么捏?因为就在楼主的楼里,我看到12楼里有个人说

    /*****************************************************

    ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);

    这样就可以了

    *******************************************************/

    我尝试了下,果然可以完成填充并使列平均分。

    好了,就到这里,吃饭去啦,HOHO~

    顺便最后鄙视下QT4的英文文档,缺少代码的例子,让我们这些初学者怎么搞啊。还有哪位大牛整个QT4的中文版帮助文档出来,整天看ASSISTANCE都快吐了。神啊,救救吧 T_T

    11.2更新

    今天又发现了行也有自适应宽度的方法,和列的类似,函数为 tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch);

    而且,如果添加的行多,行高度不会无限变小,有一个最小值,大约不大到1厘米的样子,反正大小正好

    看着挺舒服的,它会自动产生一个ScrollBar。

  • 相关阅读:
    【书目20200917】影响力思维
    Spring AOP +自定义注解 + Spel表达式 实现审计日志
    SPRING BOOT 注解之OBJECTPROVIDER源码追踪
    Activiti~相关概念
    ELK~fluentd多行日志的收集
    k8s~向etc/hosts里添加内容
    maven~本地仓库的指定
    ssh~ Access denied问题解决
    MySQL如何绕过授予information_schema中对象时报ERROR 1044(4200)错误
    Zabbix如何监控SQL Server服务状态
  • 原文地址:https://www.cnblogs.com/alleyonline/p/4744054.html
Copyright © 2011-2022 走看看