Qt QTableWidget小结

xiaoxiao2021-02-28  95

使用QTableWidget定制表格,操作比较简单。

声明并定义一个QTableWidegt

QTableWidget *table = new QTableWidget;

1、QTableWidget使用必须设置好行数与列数。

table->setColumnCount(3);//列 table->setRowCount(3);//行

2、设置表格表头。

table->setHorizontalHeaderLabels(QStringList()<<"一"<<"二"<<"三");

3、动态增加表格行。

table->setRowCount(table->currentRow() + 1);

4、表格中添加数据。

在QTableWidget中,表格每一个中的数据单独表示,用QTableWidgetItem类实现。

QTableWidgetItem *item = new QTableWidget; item属性设置。 item->setText("一!");//设置显示内容。 item->setTextAlignment(Qt::AlignCenter);//设置内容显示格式,居中显示。 item->setBackground(QBrush(QColor(Qt::red)));//设置当前格背景色。

在表格中将item显示出来

table->setItem(0,0,item);//在0,0处加入item。

5、表格特定列排序。

table->sortByColumn(0,Qt::DescendingOrder);//降序排列第一行。

6、获取特定格数据。

table->item(0,0);//第一行第一个。

在QTableWidget所绘制的表格中添加控件

可以:

QCheckBox *box = new QCheckBox;//新建一个控件。 table->setcellWidget(1,0,box);//将checkbox加入表格

但此时控件并不是居中的,且QTableWidget不提供居中控件设置。

可以尝试以下思路:

使用setCellWidget函数理论可以添加任何控件,故可以添加QWidget,在QWidget中加入布局QHBoxLayout,再将控件所需控件加入QWidget中,使用布局自带函数居中设置控件,可以起到在表格中居中显示空控件的效果。

QWidget *widget = new QWidget;//新建个QWidget QHBoxLayout *layout = new QHBoxLayout;//新建一个垂直布局。 widget->setLayout(layout);添加布局 QCheckBox *box2 = new QCheckBox;//新建控件。 layout->addWidget(box);//在布局中添加控件 layout->setAlignment(box,Qt::AlignCenter);//居中设置控件。 layout->setMargin(0); table->setCellWidget(0,2,widget);//添加窗体。

转载请注明原文地址: https://www.6miu.com/read-38702.html

最新回复(0)