QTableWidget 样式设置

 

一、设置表单样式

  table_widget->setColumnCount(4); //设置列数

  table_widget->horizontalHeader()->setClickable(false); //设置表头不可点击(默认点击后进行排序)

 

  //设置表头内容
  QStringList header;
  header<<tr("name")<<tr("last modify time")<<tr("type")<<tr("size");
  table_widget->setHorizontalHeaderLabels(header);

 

  //设置表头字体加粗

  QFont font = this->horizontalHeader()->font();
  font.setBold(true);
  table_widget->horizontalHeader()->setFont(font);

 

    //设置水平表头
    table_widget->horizontalHeader()->resizeSection(0,table_widget->width()/2); //设置表头第1列的宽度
//    table_widget->horizontalHeader()->resizeSection(1,table_widget->width()/2); //设置表头第2列的宽度
    table_widget->horizontalHeader()->setFixedHeight(50); //设置表头的高度
    table_widget->horizontalHeader()->setStyleSheet("QHeaderView::section{background:transparent;}"); //设置表头背景色
    table_widget->horizontalHeader()->setStretchLastSection(true); //设置充满表宽度
    //设置垂直表头
    table_widget->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
    table_widget->verticalHeader()->setDefaultSectionSize(30); //设置行高
    table_widget->verticalHeader()->setVisible(false); //设置垂直头不可见
    //设置内容行
    table_widget->setFrameShape(QFrame::NoFrame); //设置无边框
    table_widget->setShowGrid(false); //设置不显示格子线
    table_widget->setSelectionMode(QAbstractItemView::ExtendedSelection);  //可多选(Ctrl、Shift、  Ctrl+A都可以)
    table_widget->setSelectionBehavior(QAbstractItemView::SelectRows);  //设置选择行为时每次选择一行
    table_widget->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置不可编辑
    table_widget->setFocusPolicy(Qt::NoFocus); //去除选中虚线框
    table_widget->setStyleSheet("background:transparent;");
  setFocusPolicy(Qt::NoFocus); //去除选中虚线框
  setColumnCount(1);   //设置列数
  setColumnWidth(0, 20);//设置列宽
 

  //设置水平、垂直滚动条样式

  table_widget->horizontalScrollBar()->setStyleSheet("QScrollBar{background:transparent; height:10px;}"
  "QScrollBar::handle{background:lightgray; border:2px solid transparent; border-radius:5px;}"
  "QScrollBar::handle:hover{background:gray;}"
  "QScrollBar::sub-line{background:transparent;}"
  "QScrollBar::add-line{background:transparent;}");

  table_widget->verticalScrollBar()->setStyleSheet("QScrollBar{background:transparent; width: 10px;}"
  "QScrollBar::handle{background:lightgray; border:2px solid transparent; border-radius:5px;}"
  "QScrollBar::handle:hover{background:gray;}"
  "QScrollBar::sub-line{background:transparent;}"
  "QScrollBar::add-line{background:transparent;}");

//设置样式

setStyleSheet("\
        QTableWidget{ \
            color:white; \
       background-color:#5a636d;\
            selection-background-color:skyblue;\
            border:0px;\
            gridline-color:#212426;\
            font: 12pt 'Microsoft YaHei' \
        } \
        /*这里是表格表头样式*/ \
        QHeaderView::section{ \
            color:white; \
        background-color:#5a636d;\
            border:0.5px solid #212426;; \
            height: 30px;\
            font: 12pt 'Microsoft YaHei' \
        }");

添加内容:
QTableWidgetItem *item = new QTableWidgetItem(“test”);
m_pTableWidget->setItem(0,0,item);//在0行0列插入item

 

posted @ 2019-07-19 12:29  cicero  阅读(4976)  评论(0编辑  收藏  举报