zoukankan      html  css  js  c++  java
  • QTableWidget样式美化

    QTableWidget样式美化:

    Qt基础使用
    说明:笔记为代码修改方式,value:代表值,tableWidget替代ui->tabelwidget[控件名称]

    #include <QTableWidget>
    

    创建一个tablewidget

    QTableWidget *tabelWidget = new QTableWidget ;
    

    设置行数

    tableWidget->setRowCount(value);
    

    设置列数

    tableWidget->setColumnCount(value);
    

    QTableWidget设置表头内容

    QStringList header;
    header<<tr("value")<<tr("value")<<tr("value");
    tableWidget->setHorizontalHeaderLabels(header);
    

    设置充满表宽度[表格自动横向填充满控件]

    tableWidget->horizontalHeader()->setStretchLastSection(true);
    

    设置无边框

    tableWidget->setFrameShape(QFrame::NoFrame);
    

    设置不显示格子线

    tableWidget->setShowGrid(false); 
    

    去除选中虚线框

    tableWidget->setFocusPolicy(Qt::NoFocus);
    

    设置垂直头不可见

    tableWidget->verticalHeader()->setVisible(false);
    

    设置水平、垂直滚动条样式

    tableWidget->horizontalScrollBar()->setStyleSheet( “[美化内容参照QScrollArea样式美化]” );
    tableWidget->verticalScrollBar()->setStyleSheet(“[美化内容参照QScrollArea样式美化]” );
    

    修改表格编辑状态权限

    tableWidget->setEditTriggers(QAbstractItemView::value);
    value常用参数:
    NoEditTriggers--不能对表格内容进行修改
    CurrentChanged--任何时候都能对单元格修改
    DoubleClicked--双击单元格
    SelectedClicked--单击已选中的内容 
    AnyKeyPressed--按下任意键就能修改
    

    设置表格选择方式

    tableWidget->setSelectionBehavior(QAbstractItemView::value); 
    value常用参数:
    SelectItems--选中单个单元格
    SelectRows--选中一行    
    SelectColumns--选中一列)
    

    单个选中和多个选中的设置

    tableWidget->setSelectionMode(QAbstractItemView::value);  
    value常用参数:
    NoSelection--不能选择
    SingleSelection--选中单个目标
    MultiSelection--选中多个目标
    ExtendedSelection/ContiguousSelection 的区别不明显,主要功能是正常情况下是单选,但按下Ctrl或Shift键后,可以多选)
    

    表格表头的显示与隐藏

    tableWidget->verticalHeader()->setVisible(false);   //隐藏列表头  
    tableWidget->horizontalHeader()->setVisible(false); //隐藏行表头 
    

    设置表头字体及颜色

    //获得水平方向表头的Item对象  
    QTableWidgetItem *columnHeaderItem = tableWidget->horizontalHeaderItem(0); 
    columnHeaderItem->setFont(QFont("value")); //设置字体  
    columnHeaderItem->setBackgroundColor(QColor(0,0,0)); //设置单元格背景颜色  
    columnHeaderItem->setTextColor(QColor(0,0,0)); //设置文字颜色
    

    在单元格里加入控件:

    tableWidget->setCellWidget(value x , value y , [你的控件]); 
    

    设置单元格字体颜色、背景颜色和字体字符:

    QTableWidgetItem *item = new QTableWidgetItem("显示的文字");
    item->setBackgroundColor(QColor(0,0,0));
    item->setTextColor(QColor(0,0,0));
    item->setFont(QFont("value"));
    tableWidget->setItem(0,0,item);
    //所有的单元格都使用
    tableWidget->setFont(QFont("value"));
    

    合并单元格

    //参数为: 要改变单元格的1行数、2列数,要合并的3行数、4列数
    tableWidget->setSpan(0, 0, 3, 1) ;
    

    设置单元格宽高

    tableWidget->setColumnWidth(3,200); //行
    tableWidget->setRowHeight(3,60); //列
    //行和列的大小设为与内容相匹配
    tableWidget->resizeColumnsToContents();
    tableWidget->resizeRowsToContents();
    

    调整表格行宽

    //使列完全填充并平分
    tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
    //行自适应宽度 
    tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch);
    //根据内容调整列宽
    tableWidget->resizeColumnsToContents(); 
    

    设置某列列宽

    tableWidget->headerView->resizeSection(0,284);//设置第一列宽
    

    内容清除

    tableWidget->clear();//清除所有可见数据(包括表头),行还在
    tableWidget->clearContents();//只清除表中数据,不清除表头内容
    tableWidget->setRowCount( column );//或者直接设置行数为0,则所有行内容清除掉
    

    表格排序,将某列按升序/降序的方式排列

    tableWidget->sortByColumn( column , Qt::AscendingOrder);
    

    获取某一格的内容

    QString proName = tableWidget->item(row, column)->text();
    

    添加一行

    int row = tableWidget->rowCount();//获取表格中当前总行数
    tableWidget->setRowCount(row+1);//加一
    

    参考资料

    ————————————————

    1、版权声明:本文为CSDN博主「mark-puls」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/cwj066/java/article/details/83344705
    2、版权声明:本文为CSDN博主「老樊Lu码」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/fanyun_01/java/article/details/78341615

  • 相关阅读:
    CSS hack:针对IE6,IE7,firefox显示不同效果
    让IE6支持png24透明/半透明的方法
    IE8的css hack
    jQuery Mobile笔记三
    jQuery Mobile笔记二
    js常见面试题
    CSS3-transform3D
    CSS3-transform-style
    CSS3-媒体类型
    CSS3-盒模型-resize属性
  • 原文地址:https://www.cnblogs.com/warm-home/p/12770345.html
Copyright © 2011-2022 走看看