设置全局样式表。
//设置全局样式表
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);