首页 > 其他分享 >Qt QTableView样式设置

Qt QTableView样式设置

时间:2022-12-16 11:33:45浏览次数:43  
标签:Qt vertical 样式 22px QTableView QScrollBar model border


                        Qt QTableView样式设置

 

显示效果

Qt QTableView样式设置_QTableView

QSS设置

 

选中设置:

​QTableView::item:selected​

​{​

​background:rgb(0,0,100);​

​color:white;​

​}​

表头设置:

​QHeaderView::section:first​

​{​

​border-image: url(:/images/expand/tempUser_headBg2.png);​

​height: 30px;​

​font: 11pt ​​​​"微软雅黑"​​​​;​

​}​

 

​QHeaderView::section:middle​

​{​

​border-image: url(:/images/expand/tempUser_headBg2.png);​

​height: 30px;​

​font: 11pt ​​​​"微软雅黑"​​​​;​

​}​

 

​QHeaderView::section:last​

​{​

​border-image: url(:/images/expand/tempUser_headBg4.png);​

​height: 30px;​

​font: 11pt ​​​​"微软雅黑"​​​​;​

​}​

滚动条设置:

​QScrollBar:vertical {​

​border: 0px;​

​background:rgba(255,255,255,0);​

​border-image:url(:/images/scrollbar/vertical_scrollBg.png);​

​width: 22px;​

​margin: 22px 0  22px 0;​

​}​

 

​QScrollBar::handle:vertical {​

​border-image:url(:/images/scrollbar/vertical_slide.png);​

​width:22px;​

​min-height:50px;​

​max-height:200px;​

​}​

 

​QScrollBar::handle:vertical:hover {​

​border-image: url(:/images/scrollbar/vertical_slide_hover.png);​

​width:22px;​

​min-height:50px;​

​max-height:200px;​

​}​

 

​QScrollBar::handle:horizontal:hover {​

​border-image: url(:/images/scrollbar/slide.png);​

​width:22px;​

​min-height:35px;​

​}​

 

​QScrollBar::handle:vertical:hover {​

​border-image:url(:/images/scrollbar/vertical_slide_hover.png);​

​width:22px;​

​}​

 

​QScrollBar::add-line:vertical {​

​border-image:url(:/images/scrollbar/vertical_down.png);​

​height: 22px;​

​subcontrol-position: bottom;​

​subcontrol-origin: margin;​

 

​}​

​QScrollBar::add-line:vertical:pressed{​

​border-image:url(:/images/scrollbar/vertical_down_down.png);​

​height: 22px;​

​subcontrol-position: bottom;​

​subcontrol-origin: margin;​

 

​}​

​QScrollBar::sub-line:vertical {​

​border-image:url(:/images/scrollbar/vertical_up.png);​

​height:22px;​

​subcontrol-position: top;​

​subcontrol-origin: margin;​

​}​

​QScrollBar::sub-line:vertical:pressed {​

​border-image:url(:/images/scrollbar/vertical_up_down.png);​

​height: 22px;​

​subcontrol-position: top;​

​subcontrol-origin: margin;​

​}​

​QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {​

​background: none;​

​}​

 

​QScrollBar:horizontal {​

​border: 0px;​

​background:rgba(255,255,255,0);​

​border-image:url(:/images/scrollbar/scrollBg.png);​

​height: 22px;​

​margin: 0 22px 0  22px;​

​}​

 

​QScrollBar::handle:horizontal {​

​border-image:url(:/images/scrollbar/slide.png);​

​height:22px;​

​}​

 

​QScrollBar::handle:vertical:hover {​

​border-image:url(:/images/scrollbar/vertical_slide_hover.png);​

​width:22px;​

​}​

 

​QScrollBar::add-line:horizontal {​

​border-image:url(:/images/scrollbar/down.png);​

​width: 22px;​

​subcontrol-position: right;​

​subcontrol-origin: margin;​

 

​}​

​QScrollBar::add-line:horizontal:pressed{​

​border-image:url(:/images/scrollbar/down_down.png);​

​width: 22px;​

​subcontrol-position: right;​

​subcontrol-origin: margin;​

 

​}​

​QScrollBar::sub-line:horizontal {​

​border-image:url(:/images/scrollbar/up.png);​

​width:22px;​

​subcontrol-position: left;​

​subcontrol-origin: margin;​

​}​

​QScrollBar::sub-line:horizontal:pressed {​

​border-image:url(:/images/scrollbar/up_down.png);​

​width: 22px;​

​subcontrol-position: left;​

​subcontrol-origin: margin;​

​}​

​QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {​

​background: none;​

​}​

行之间颜色渐变(alternaingRowColors必须设置为true):

​QTableView​

​{​

​background-color: rgb(255, 255, 255);​

​alternate-background-color:#F2F8FF;​

​}​

 设置QTreeWidget水平滚动条: 

​ui.treeWidget_site->header()->setSectionResizeMode(QHeaderView::ResizeToContents); ​

​ui.treeWidget_site->header()->setStretchLastSection(​​​​false​​​​);​

  代码设置

void MainWindow::initUi()
{

// // 表头
// ui->tableWidget->setColumnCount(m_iColumCount);
// ui->tableWidget->setRowCount(1);
// ui->tableWidget->verticalHeader()->setVisible(false);
// ui->tableWidget->horizontalHeader()->setVisible(false);
// ui->tableWidget->setFrameShape(QFrame::NoFrame);
// ui->tableWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
// ui->tableWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
// ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
// ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
// ui->tableWidget->setFocusPolicy(Qt::NoFocus);


QStandardItemModel* model = new QStandardItemModel();

/* 设置列数 */
model->setColumnCount(14);
model->setHeaderData(0, Qt::Horizontal, QStringLiteral("任务编号"));
model->setHeaderData(1, Qt::Horizontal, QStringLiteral("任务类型"));
model->setHeaderData(2, Qt::Horizontal, QStringLiteral("工作模式"));
model->setHeaderData(3, Qt::Horizontal, QStringLiteral("中频频率"));
model->setHeaderData(4, Qt::Horizontal, QStringLiteral("中频带宽"));
model->setHeaderData(5, Qt::Horizontal, QStringLiteral("中频增益"));
model->setHeaderData(6, Qt::Horizontal, QStringLiteral("调制类型"));
model->setHeaderData(7, Qt::Horizontal, QStringLiteral("调制速率"));
model->setHeaderData(8, Qt::Horizontal, QStringLiteral("发射频率"));
model->setHeaderData(9, Qt::Horizontal, QStringLiteral("发射功率"));
model->setHeaderData(10, Qt::Horizontal, QStringLiteral("成型系数"));
model->setHeaderData(11, Qt::Horizontal, QStringLiteral("任务状态"));
model->setHeaderData(12, Qt::Horizontal, QStringLiteral("开始时间"));
model->setHeaderData(13, Qt::Horizontal, QStringLiteral("结束时间"));



/* 设置行数 */
model->setRowCount(14);
model->setHeaderData(0, Qt::Vertical, QStringLiteral("1"));

ui->tableView->horizontalHeader()->setStyleSheet("QHeaderView::section {"
"color: #44b4da; background-color: rgb(21, 45, 93);padding-left: 4px;border: 1px solid #44b4da;}");


ui->tableView->setModel(model);
/* 设置列宽在可视界面自适应宽度 */
// ui->tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
ui->tableView->horizontalHeader()->setResizeContentsPrecision(QHeaderView::Stretch);
/* 行颜色交替显示 */
ui->tableView->setAlternatingRowColors(true);
/* 不允许在图形界面修改内容 */
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

/* 在表格内加入内容 */
model->setItem(0, 0, new QStandardItem(QStringLiteral("数字")));

/* 显示表 */
ui->tableView->show();
}

​​工程代码下载​​

 


 

 

标签:Qt,vertical,样式,22px,QTableView,QScrollBar,model,border
From: https://blog.51cto.com/u_15707179/5947023

相关文章

  • Qt和PyQt和PySide之间的关系
    Qt:是qt公司用c++语言写的一整套界面程序开发库。具有非常丰富的资料。LGPL协议。PySide:为了支持python语言使用这个qt库,所以qt公司搞了个PySide这个封装库,也就是通过python......
  • pyqt5图书管理系统--6、用户界面之借阅书籍和归还书籍
    本节分为两个部分:借阅书籍界面设计、归还书籍界面设计。主要流程:1、通过进入借阅书籍界面,点击借阅书籍按钮,实现借阅书籍的消息框提醒,和相关数据库内容变动。     2......
  • qt编写多语言软件的方法
    一、概述    qt在编写多国际化软件时,一般采用多语言的方式,既先用英文字符串写代码,后期再进行翻译为其他语言的版本。二、多语言翻译方法2.1在c++文件中多语言方......
  • PCL1.12+VTK9.1+QT6编译部署
     本文讲解使用的环境是vs2019+pcl1.12.0+vtk9.1+qt6.0,最后再展示一个示例程序1 编译VTK   vtk下载地址如下:https://vtk.org/download/然后用cmake构建,修改一下几个地......
  • qt-垂直布局初步
    QWidget在学习垂直布局之前,我们需要了解一个对象,就是QWidget。它的功能就是创建一个窗口。垂直布局,包括水平布局,都需要对窗口使用才能显示,我们不能直接将垂直布局显示出......
  • div 常用样式记录
    div边框:  boder虚线:dashed 实线:solid  语法:<divstyle="border:2pxsolidred"></div>  上边框:border-top;下边框:border-bottom;左边框:border-left;右边框......
  • Qt之自定义输入框(度分秒、经纬度、格式化显示)
    相关资料:http://www.manongjc.com/detail/15-grpefyhtwdpbehh.html  Qt自定义文本输入框实现支持输入度分秒和度两种格式(简易无限制输入)PS:重要的文件我用粗体标注......
  • CAD标注样式设置怎么保存?
    CAD设计过程中,标注的应用十分广泛,设计师为了保证图面的清晰明了,通常会对CAD标注样式进行设置。如果下次想要直接调用当前标注样式,你知道CAD标注样式设置怎么保存?本文就和小......
  • CAD标注样式设置文件怎么输入使用?
    上节教程文章中小编给大家分享了CAD标注样式文件保存的详细操作步骤,那么,在下次CAD设计过程中,如果想要调用该标注样式,该如何将CAD标注样式设置文件输入使用呢?本文小编就来给......
  • 微信二维码名片不显示头像 微信二维码怎么恢复原来的样式
    新版本的微信更新之后,微信的个人名片二维码中间不是自己的头像了。而且二维码的识别率也没有之前的高了!好多年朋友在问微信二维码怎么换成以前那种中间带头像的?想应该如何......