QTableView样式

时间:2019-01-21
本文章向大家介绍QTableView样式,主要包括QTableView样式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
控件的成员函数styleSheet()可以获取控件的风格样式
ui->tableView_contact_1->setWindowTitle("Contact List1");
ui->tableView_contact_1->setShowGrid(false);//隐藏网格
//选择整行
ui->tableView_contact_1->setSelectionBehavior(QAbstractItemView::SelectRows);
//设置表格的单元为只读属性,即不能编辑
ui->tableView_contact_1->setEditTriggers(QAbstractItemView::NoEditTriggers);

//隐藏左边的列和上面的行
ui->tableView_contact_1->verticalHeader()->hide();

ui->tableView_contact_1->verticalScrollBar()->setStyleSheet("QScrollBar:vertical{width:10px;background:rgba(255,255,255,60);margin:0px,0px,0px,0px;padding-top:5px;padding-bottom:5px;}QScrollBar::handle{background:rgb(4,122,217);border: 1px solid #ffffff;}QScrollBar::add-line:vertical{background:rgba(255,255,255,60);height:5px;subcontrol-position: bottom;}QScrollBar::sub-line:vertical{background: rgb(255,255,255,60);height: 5px;subcontrol-position: top;}QScrollBar::add-page:vertical,QScrollBar::sub-page:vertical{background:qlineargradient(spread:reflect, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(255,255,255,60),stop:1 rgba(255,255,255,60));border:1px,solid,rgba(255,255,255,60);}");
        ui->tableView_contact_1->horizontalHeader()->setStyleSheet("QHeaderView{background-color: rgba(255, 255, 255,50);}QHeaderView::section{background-color:rgba(0,0,0,0);color: rgb(72,73,75);padding-left: 2px;border-top:1px solid rgba(0,0,0,30);border-right:1px solid rgba(0,0,0,30);border-bottom:3px solid rgba(0,125,225,255);border-left:1px solid rgba(0,0,0,30);padding-left: 20px;text-align : left;font:16pt}");

        RowDelegate *t = new RowDelegate(ui->tableView_contact_1);
        ui->tableView_contact_1->setItemDelegate(t);
        ui->tableView_contact_1->setStyleSheet("QTableView{background-color: rgba(255,255, 255,40);border: 0px solid rgba(0,0,0,0);color: rgb(60,60,60);}QTableView::item{border-top:0px solid rgba(0,0,0,50);border-right:0px;border-bottom:1px solid rgba(0,0,0,50);border-left:0px;padding-left: 10px;text-align : left;color: rgb(60,60,60);}");
//设置表头字体不加粗
QFont font = ui->tableView_contact_1->horizontalHeader()->font();
font.setBold(true);
ui->tableView_contact_1->horizontalHeader()->setFont(font);
//设置行、列数和列名称
modelContact_1.clear();           //每次清空
modelContact_1.setColumnCount(1);
modelContact_1.setRowCount(0);
modelContact_1.setHeaderData(0,Qt::Horizontal,QString::fromLocal8Bit(tr("会场名").toAscii().constData()));
ui->tableView_contact_1->setModel(&modelContact_1);
//表头信息显示居左
ui->tableView_contact_1->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
//列宽度自适应
 ui->tableView_contact_1->horizontalHeader()->setResizeMode(QHeaderView::Stretch);