QTableWidget使用及利用Qss美化

QTableWidget使用及利用Qss美化

QTableWidget的使用

  1. QTableWidget的创建

    • 编辑ui文件拖动控件创建
    image-20210302174956748
    • 代码创建
    QTableWidget * test=new QTableWidget(this);    //括号中的this是将该组件绑定到窗口的对象树上,在窗口关闭时指针控件能随之释放
    
  2. 设置表头以及单元格

    ui->tableWidget->setColumnCount(5);
    ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"id"<<"开始时间"<<"结束时间"<<"优先数"<<"等待时间");
    ui->tableWidget->setRowCount(10);
//以上为设置表格表头

ui->tableWidget->setItem(i,j++,new QTableWidgetItem(QString::number(minh->getHeap()[i+1]->getId())));
//此处为设置i,j单元格内的内容,接收的是一个QTableWidgetItem对象
  1. 表格文字居中
ui->tableWidget->item(i,j)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);       //实现表格中文字居中

​ 值得注意的是,这种方法设置的文字居中只能在该单元格内有内容的情况下才能生效,否则程序会报错

  1. 表格样式美化

    由于Qt样式表的引入,定制Qt部件的外观样式变得非常简单。 无论你是想仅仅修改一个现有部件的外观,还是想从零开始设计一套全新的界面风格, 现在都有了一种新的方法而不必再去继承并实现一个QStyle的子类。

    Qt样式表的思想很大程度上是来自于HTML的层叠式样式表(CSS), 通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet(), 你可以为一个独立的子部件、整个窗口,甚至是整个个应用程序指定一个样式表。

    样式表是通过QStyle的一个叫做QStyleSheetStyle的特殊子类来实现的。 这个特殊的子类实际上是其他的系统特定风格类的包裹类, 它会把通过样式表指定的自定义外观风格应用在底层的系统特定风格之上。

    所以我们不需要像一些较为古老的语言(如java swing)一样继承控件类然后重写控件类,可以直接对样式进行编辑

    可以在ui设计界面中选择改变样式表来进行qss的编辑

    image-20210302181558659

    也可以在代码中进行设置

    /*表格的一种美化方式*/
    QHeaderView
    {
        background:transparent;
    }
    
    QHeaderView::section
    {
        font-size:14px;
        font-family:"Microsoft YaHei";
        color:#FFFFFF;
        background:#60669B;
        border:none;
        text-align:left;
        min-height:49px;
        max-height:49px;
        margin-left:0px;
        padding-left:0px;
    }
    
    QTableWidget
    {
        background:#FFFFFF;
        border:none;
    
        font-size:20px;
        font-family:"Microsoft YaHei";
        color:#666666;
    }
    QTableWidget::item
    {
        border-bottom:1px solid #EEF1F7 ;
    }
    
    QTableWidget::item::selected
    {
        color:red;
        background:#EFF4FF;
    }
    
    
    QScrollBar::handle:vertical
    {
        background: rgba(255,255,255,20%);
        border: 0px solid grey;
        border-radius:3px;
        width: 8px;
    }
    
    QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
    {
        background:rgba(255,255,255,10%);
    }
    
    
    QScollBar::add-line:vertical, QScrollBar::sub-line:vertical
    {
        background:transparent;
    }
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值