QT實戰3:QTableWidget表頭、內容字體大小、顏色、背景顏色等設置

QTableWidget表頭、內容字體大小、顏色、背景顏色等設置

 

主要完成設置:

1、是否顯示格子線。

2、禁止編輯

3、默認高度,寬度

4、選中模式

5、排序

6、某列是否設置選中框

7、某個單元格單獨設置字體

8、表頭內容設置

9、表格數據填充示例 

10、隱藏橫向表頭

11、qss樣式表設置字體、顏色示例等。

運行效果如下

下面直接上代碼,完全可以直接拷貝用:

 

 QString qssTV = "QTableWidget::item:hover{background-color:rgb(92,188,227,200)}"
                    "QTableWidget::item:selected{background-color:#1B89A1}"
                    "QHeaderView::section,QTableCornerButton:section{ \
            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); }"
"QTableWidget{background-color:white;border:none;}";




//ui->tableWidget->setShowGrid(true); //設置顯示格子線
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //整行選中的方式
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //禁止編輯
ui->tableWidget->horizontalHeader()->setStretchLastSection(true); //行頭自適應表格
ui->tableWidget->horizontalHeader()->setFont(QFont("song", 12));

//點擊表時不對錶頭行光亮(獲取焦點)
ui->tableWidget->horizontalHeader()->setHighlightSections(false);
//設置表頭字體加粗

QFont font =  ui->tableWidget->horizontalHeader()->font();
font.setBold(true);
ui->tableWidget->horizontalHeader()->setFont(font);
//ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background:lightblue;}"); //skyblue設置表頭背景色
//ui->tableWidget->setStyleSheet("selection-background-color:lightblue;"); //設置選中背景色

ui->tableWidget->setStyleSheet(qssTV);

ui->tableWidget->horizontalHeader()->setHighlightSections(false);         //點擊表頭時不對錶頭光亮
ui->tableWidget->setSelectionMode(QAbstractItemView::ContiguousSelection);//選中模式爲多行選中
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);

//所有單元格的字體  設置成一樣
ui->tableWidget->setFont(QFont("song", 12)); 

ui->tableWidget->setRowCount(1); //設置行數
ui->tableWidget->setColumnCount(8); //設置列數
ui->tableWidget->setWindowTitle("TABLE演示");
QStringList header;

header<<"序號"<<"名稱"<<"設備ID"<<"設備IP"<<"設備端口"<<"型號"<<"廠家"<<"備註";
ui->tableWidget->setHorizontalHeaderLabels(header);

//去掉默認行號 可以用horizontalHeader() ->setVisible(false)隱藏橫向表頭
QHeaderView *header1 =   ui->tableWidget->verticalHeader();
header1->setHidden(true);
//設置單元格大小
ui->tableWidget->horizontalHeader()->setDefaultSectionSize(50);  //設置默認寬度
ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);   //設置一行默認高度
ui->tableWidget->setColumnWidth(1,110);
ui->tableWidget->setColumnWidth(2,110);
ui->tableWidget->setColumnWidth(4,180);
ui->tableWidget->setColumnWidth(5,110);
ui->tableWidget->setColumnWidth(6,80);
ui->tableWidget->setColumnWidth(7,80);

ui->tableWidget->setSortingEnabled(true);  //啓動排序

for (int crowCount = 0; crowCount < 20; ++crowCount)
{
    //插入數據
    QTableWidgetItem *check=new QTableWidgetItem(QString::number(crowCount)); 
    check->setCheckState(Qt::Unchecked);  //是否設置選中框
    ui->tableWidget->insertRow(crowCount);
    check->setText(QString::number(crowCount));  //顯示序號
    ui->tableWidget->setItem(crowCount,0,check); //插入複選框
    for(int j=1; j<8; j++ )
    {
        ui->tableWidget->setItem(crowCount,j,new QTableWidgetItem(QString::number(j)));
    }
}

單元格單獨設置字體方法:

                QTableWidgetItem *item = new QTableWidgetItem;

                item->setText(strDev);

                item->setFont(QFont("song", 14));

                ui->tableWidget->setItem(crowCount,j,item);

 


備註:實戰示例,解疑答惑。

           --不間端地思考,實時地批判你的工作!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章