QTableView设置样式表/选中行颜色, QTableView美化

这篇具有很好参考价值的文章主要介绍了QTableView设置样式表/选中行颜色, QTableView美化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QTableView设置QSS样式表

    color: white;                                       /*表格内文字颜色*/
    gridline-color: black;                              /*表格内框颜色*/
    background-color: rgb(108, 108, 108);               /*表格内背景色*/
    alternate-background-color: rgb(64, 64, 64);
    selection-color: white;                             /*选中区域的文字颜色*/
    selection-background-color: rgb(77, 77, 77);        /*选中区域的背景色*/
    border: 2px groove gray;
    border-radius: 0px;
    padding: 2px 4px;
只设置此行的这一列的背景颜色,设置成功。

如:item->setBackgroundColor(QColor(0,60,10));//也可以使用qt系统的默认颜色。

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

  QTableWidgetItem *item = new QTableWidgetItem("Apple");

  item->setBackgroundColor(QColor(0,60,10));

  item->setTextColor(QColor(200,111,100));

  item->setFont(QFont("Helvetica"));

  tableWidget->setItem(0,3,item);
/* 表格设置 */
QTableView{  /** QTableView设置 */
    border: none;
    background-color: white;
    selection-background-color: black;
}


QHeaderView::section{         /*表头设置*/
    border: none;
    height:20px;    /*表头高度*/
    color: white;
    font-size: 15px;
    font-weight: 900;
    background-color: rgb(80, 80, 80);
    text-align: center;
}

QTableView::item{  /** 每个单元格设置 */
    background-color: white;
    border: none;
    background-color: rgb(220, 220, 220);  /*交替行,第二行*/
    selection-background-color: white;
    selection-color: black;
    font-family: Consolas;
    font-size: 11px;
    text-align: center;
}
QTableView::item:!alternate:!selected{
    background-color: white;    /*交替行的另一颜色*/
    selection-background-color: rgb(220, 220, 220);  
    selection-color: black;
}
# 如果要显示两种颜色还要在代码中添加
    ui->tableView_name->setShowGrid(false);              //<-----不显示grid
    ui->tableView_name->setAlternatingRowColors(true); //<-----双色显示

 

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);//加一行
QSS美化

QScrollBar:vertical{    

     width:6px;     
    border-style:flat;   
    border-radius: 4px;   
    border:0px;   
    background: #19191A;
}
QScrollBar::handle:vertical{     
    background: rgba(255,255,255,0.50);   
    border-radius: 4px;   
    width:8px;     
    min-height:91px;     
    border-style:flat;
}
QScrollBar::handle:vertical::hover{     
    background: rgba(255,255,255,0.90);   
    border-radius: 4px;   
    width:8px;
}
QScrollBar::handle:vertical::pressed{     
    background: rgba(255,255,255,0.90);   
    border-radius:4px;   
    width:8px;
}
QScrollBar::sub-page:vertical {   
    background: #19191A;
    border-style:flat;
}
QScrollBar::add-page:vertical {   
    background: #19191A;
    border-style:flat;
}
QScrollBar::add-line:vertical{   
    background: #19191A;
}
QScrollBar::sub-line:vertical {   
    background: #19191A;
}
QScrollBar:horizontal{     
    height:8px;     
    border-style:flat;   
    border-radius: 4px;   
    border:0px;
    background: #19191A;
}
QScrollBar::handle:horizontal{     
    background: rgba(255,255,255,0.50);   
    border-radius: 4px;   
    height:8px;     
    min-width:91px;     
    border-style:flat;
}
QScrollBar::handle:horizontal::hover{     
    background: rgba(255,255,255,0.90);   
    border-radius: 4px;   
    height:8px;
}
QScrollBar::handle:horizontal::pressed{     
    background: rgba(255,255,255,0.90);   
    border-radius:4px;   
    height:8px;
}
QScrollBar::sub-page:horizontal {   
    background: #19191A;   
    border-style:flat;
}
QScrollBar::add-page:horizontal {   
    background: #19191A;   
    border-style:flat;
}
QScrollBar::sub-line:horizontal {   
    background: #19191A;
}
QScrollBar::add-line:horizontal{   
    background: #19191A;
}
ui->tableWidget->verticalScrollBar()->setStyleSheet("QScrollBar:vertical { width: 5px; }");
QTableWidget{   
    background: #303033;
}
QTableWidget::item{   
    color:rgba(255,255,255,150);   
    background: #303033;   
    text-align:center;
}
QTableWidget::item:hover{   
    color:#FFFFFF;   
    background: #4B4B4D;
}
QTableWidget::item:selected{   
    color:#FFFFFF;   
    background: #4B4B4D;
}
QHeaderView::section,QTableCornerButton:section{     
    text-align:center;   
    padding:3px;     
    margin:0px;     
    color:#DCDCDC;     
    border:1px solid #242424;     
    border-left-width:0px;     
    border-right-width:1px;     
    border-top-width:0px;     
    border-bottom-width:1px;     
    background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252);
}
QHeaderView::section:selected{     
    color:#FFFFFF;     
    border:1px solid #242424; 
}文章来源地址https://www.toymoban.com/news/detail-443374.html

到了这里,关于QTableView设置样式表/选中行颜色, QTableView美化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 设置TabLayout选中后的字体、大小、颜色等设置

    初始化 1)在xml中设置颜色变化 其中,tabTextColor未未选中时的颜色,tabSelectedTextColor为选中时的颜色。 2)对已定义好的TabLayout进行处理。 在监听器中设置样式 在选中时或未选中时,获取已设置的TextView,然后可以去设置需要的大小、加粗等变化。 我做了一个简单的封装,这

    2024年02月12日
    浏览(39)
  • Intellij IDEA设置“选中变量或方法”的背景颜色、字体颜色(Mark Occurrences)

    背景 IDEA 中选中一个变量就会将所有的变量相关变量标出来,这样就很方便知道这个变量出现的地方。Eclipse里头把这个功能叫做 Mark Occurrences ,IDEA 里不知道怎么称呼。 我们要解决的痛点就是提示不明显 ,如下图所示,Macbook这么好的屏幕,无论在暗黑还是白色主题,都不是

    2024年02月07日
    浏览(64)
  • IOS 设置UIButton按钮的选中状态样式

    设置按钮的边框 设置按钮的文字样式 设置按钮的背景颜色 设置按钮的文字内容 附上按钮的各种状态及交互

    2024年04月27日
    浏览(34)
  • 微信小程序 — tag标签设置选中效果和未选样式

     实现如上图效果 。选中效果和未选中效果实现。 1.wxss文件。设置css样式。选中效果样式和默认的效果样式。 stateChoose选中样式。  stateNotchoose未选中(默认)样式 2.wxml文件。布局实现 3.js文件,数据绑定。监听事件。  

    2024年02月11日
    浏览(62)
  • Winform中DataGridView设置前景色、单元格背景色、标题栏样式、禁止改变高宽、不显示空白行、清除选中样式、填充数据源、设置标题、设置单列宽度

    Winform中使用DataGridView实现加载数据并显示在led大屏中。 需要设置整个DataGridView的前景色、背景色、单元格颜色、标题栏样式、禁止 改变行高、列宽、不显示新增行、取消选中样式等。 注: 博客: 霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主 1、DateGridView实现黑

    2023年04月15日
    浏览(69)
  • QRadioButton设置字体和按钮样式(变大,调整颜色)

    今天用到了QRadioButton这个选择的按钮,这是默认的样式,发现在ui的属性里面没有可调节的选项,有点犯愁,查了会文档,最后发现只能用样式表来修改QRadioButton的样式 用样式表设置了样式后,圆形按钮变大了,字体颜色啥的也变了,好看多了,达到了想要的效果 样式代码如

    2024年02月11日
    浏览(54)
  • Qt Creator设置IDE的字体、颜色、主题样式

        Qt是一款开源的、跨平台的C++开发框架,支持Windows、Linux、Mac系统,从1995发布第一版以来,发展迅猛,最开始是用于Nokia手机的Symbian(塞班)系统和应用程序开发,现在是用于嵌入式软件、桌面软件(比如WPS、VirtualBox)、Android软件等开发,到2023年12月,其最新的版本已经更

    2024年02月04日
    浏览(47)
  • qt 系列(二)---qt designer通过设置控件样式表进行背景颜色设置

    1. 前言 一般Layouts不可以进行改变样式表,当我们想修改背景样式表,同时又不改变其他控件的颜色时,可以选择List View 控件改变背景颜色。 2. 设置背景 (1)配置 .qrc 文件 新建mypicture.qrc文件,记事本打开 (2)右键选择项目–添加–现有项,选择建立的.qrc文件,此时,项

    2024年02月06日
    浏览(59)
  • Qt QtableWidget、QtableView表格删除选中行、删除单行、删除多行

    设置 操作 设置 操作 无需设置 setSelectionBehavior(QAbstractItemView::SelectRows) ,但是可以选择的那一列最好设置为不可编辑。按下Ctrl键,选择多行。 设置1 设置2 操作 QTableWidgetSelectionRange是Qt框架中用于表示QTableWidget中选定的一块单元格区域的类。以下是如何使用QTableWidgetSelectionR

    2024年02月01日
    浏览(51)
  • IntelliJ IDEA 常用设置 主题颜色模式、字体、样式、背景自定义颜色及其背景图片(图文步骤)

    这里已 IntelliJ IDEA 2018.2.8 版本为例(本人已将主题设置成了暗色主题): 点击 file﹥setting  打开设置 点击 Editor﹥Color Scheme﹥Color Scheme Font 主要的操作有主代码字体,字体字号大小,字体行间距,非主代码字体   主要的操作有颜色,斜体,加粗,背景,下划线,删除线,边框

    2023年04月16日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包