QT 界面样式小结

设置全局样式表。

//设置全局样式表
    QFile file(":/qss/qss.qss");
    file.open(QFile::ReadOnly);
    QString styleSheet = tr(file.readAll());
    this->setStyleSheet(styleSheet);
    file.close();

窗体隐形

    //窗体隐形
    this->setWindowFlags(Qt::Window|Qt::FramelessWindowHint);

QLabel播放gif

   //QLabel播放gif
     QMovie *movie = new QMovie(":/pic/warn.gif");
     QSize si(ui->label_warning->width(),ui->label_warning->height());
     movie->setScaledSize(si);
     ui->label_warning->setMovie(movie);
     movie->start();

QLabel字体加载与效果设置

   void MainWindow::setFontEffect(QLabel *label)
{
    //字体设置
    int id = QFontDatabase::addApplicationFont(":/font/DS-DIGI.TTF");
     qDebug()<<"family"<<QFontDatabase::applicationFontFamilies(id);

    //使用方式和普通字体一样
    QFont font;
    font.setFamily("DS-Digital");
    font.setPixelSize(38);
    label->setFont(font);

    //模糊、加强、阴影、透明特效
    //该类用应产生模糊效果,主要函数setBlurRadius(qreal blurRadius),用于控制图形元素的模糊度,数值越大越模糊
    QGraphicsBlurEffect *e0 = new QGraphicsBlurEffect(this);
    e0->setBlurRadius(2);

    //该类提供了使用另外一种颜色对当前图形的一种着色功能。主要函数是setColor(QColor)和setStrength (qreal strength),指定了着色和着色强度。
    QGraphicsColorizeEffect *e1 = new QGraphicsColorizeEffect(this);
    e1->setColor(QColor(0,255,255));

    //该类提供了图形元素的阴影效果,用于增加立体感。
    QGraphicsDropShadowEffect *e2 = new QGraphicsDropShadowEffect(this);
    e2->setColor(QColor(180,220,232));     //用于设定阴影的颜色
    e2->setBlurRadius(10);               //用于设定阴影的模糊度,
    e2->setOffset(4,4);       //用于设定在哪个方向产生阴影效果,如果dx为负数,则阴影在图形元素的左边。

    //用于设置透明度,参数值在0和1.0之间。
    //也可以设置部分透明效果,需要调用的函数是setOpacityMask (QBrush mask)。
    QGraphicsOpacityEffect *e3 = new QGraphicsOpacityEffect(this);
    e3->setOpacity(0.4);
    
    label->setGraphicsEffect(e2);
}

TableWidget样式设计

   void MainWindow::setTableWidget()
{
    QTableWidget *tableWidget = ui->tableWidget;
    QStringList header;
    header<<tr("信号种类")<<tr("参数1")<<tr("参数2")<<tr("参数3")<<tr("参数4")<<tr("参数5");

    //设置水平表头
    tableWidget->setColumnCount(5);
    tableWidget->setRowCount(10);
    tableWidget->setHorizontalHeaderLabels(header);
    tableWidget->horizontalHeader()->setVisible(true);
    
    //设置行高
    tableWidget->verticalHeader()->setDefaultSectionSize(18);

    //最后一格自适应填充窗口
    tableWidget->horizontalHeader()->setStretchLastSection(true);

    //平分单元格
    tableWidget->horizontalHeader()->setSectionResizeMode (QHeaderView::Stretch);
    tableWidget->setFrameShape(QFrame::NoFrame);
    //设置相邻行颜色交替显示
    tableWidget->setAlternatingRowColors(true);
    //垂直表头不显示
    tableWidget->verticalHeader()->setVisible(false);
    //左上角两个表头相交的区域也设置成同样的颜色
    tableWidget->setStyleSheet("QTableCornerButton::section{background:yellow;}");
    //选择框虚线不显示
    tableWidget->setFocusPolicy(Qt::NoFocus);

    //表头样式
    QFile file(":/qss/tableheadview.qss");
    file.open(QFile::ReadOnly);
    tableWidget->horizontalHeader()->setStyleSheet(file.readAll());
    file.close();

    //右侧滚动条样式
    QFile file1(":/qss/vertical_scrollbar.qss");
    file1.open(QFile::ReadOnly);
    tableWidget->verticalScrollBar()->setStyleSheet(file1.readAll());
    file1.close();
}
    //tableheadview.qss
    QHeaderView::section          
{
    font: 75 11pt "微软雅黑";
    color:#FFFFFF;                 
    background:rgb(0, 85, 127);           
    border:1px solid #242424;                   
    text-align:left;
    min-height:35px;
    max-height:35px;
}
  //vertical_scrollbar.qss
QScrollBar:vertical
{
    width:8px;
    background:rgba(0,0,0,0);
    margin:0px,0px,0px,0px;
    border-radius:6px;
}
QScrollBar::handle:vertical
{
    width:8px;
    background: rgba(170,170,255,25%);
    border-radius:4px;
    min-height:20;
}
QScrollBar::handle:vertical:hover
{
    width:8px;
    background:rgba(170,170,255,50%);
    border-radius:4px;
    min-height:20;
}
QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical
{
    background:rgba(0,0,0,10%);
    border-radius:4px;
}

读取CSV文件到tablewidget

void MainWindow::loadCSVtoTable()
{
    QString filename = ":/file/import.csv";
    QFile file(filename);
    file.open(QIODevice::ReadOnly);
    QString line = file.readLine().replace("\r\n","");
    int row = 0;
    int  column = ui->tableWidget->columnCount();
    while(line!=NULL){
//        qDebug()<<line;
        QStringList list = line.split(",");
        ui->tableWidget->insertRow(row);
        for(int col = 0; col<column ; col++){
            ui->tableWidget->setItem(row,col,new QTableWidgetItem(list[col]));
            ui->tableWidget->item(row,col)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
        }
        row++;
        line = file.readLine().replace("\r\n","");
    }
}

状态栏设置

 //状态栏设置
    QLabel *label_cmp = new QLabel;
    QDate data;
    data = QDate::currentDate();
    QString year = QString::number(data.year());
    QString copyright;
    copyright.append("Copyright ");
    copyright.append(year);
    copyright.append(" ©XXX公司 All Rights Reserved");
    label_cmp->setText(copyright);
    label_cmp->setStyleSheet("color:white;font: 10pt \"微软雅黑\";");
    label_cmp->setAlignment(Qt::AlignHCenter);
//    ui->statusBar->addPermanentWidget(label_cmp);  //右侧
    ui->statusBar->addWidget(label_cmp,1);

//设置字间距

    QFont font;
    font = ui->label_inform->font();
    //    font.setLetterSpacing(QFont::PercentageSpacing,-2); //设置字间距 默认100%
    font.setLetterSpacing(QFont::AbsoluteSpacing,5); //默认1 正值增加间距 负值减小间距
    ui->label_inform->setFont(font);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值