让QT中的Qtablewidget控件表格中的元素内容显示居中

//建一个QTableWidget控件
QTableWidget * table = new QTableWidget(tableWdt);
//设置该表格的大小,按自己的需要去设定,也可以不设定
table->resize(724, 345);
//设置列数
table->setColumnCount(11);
	//设置水平表头信息
table->setHorizontalHeaderLabels(QStringList() << "Master" 
<< "Slot.1" << "Slot.2" << "Slot.3" << "Slot.4" << "Slot.5" 
<< "Slot.6" << "Slot.7" << "Slot.8" << "Slot.9" << "Slot.10");
//设置行数
table->setRowCount(9);
//设置垂直表头信息
table->setVerticalHeaderLabels(QStringList() << "Dll_date" 
<< "Dll_version" << "Dll_chip" << "DSP_date" << "DSP_version" 
<< "DSP_chip" << "FPGA_date" << "FPGA_version" << "FPGA_chip");
//让tableWidget内容中的每个元素居中
table->setSelectionBehavior(QAbstractItemView::SelectRows);//设置整行选中
//这是我自己调用动态库获得信息,至于怎么调用的可以看看别人的优秀文章
TVersion date;
short nType = 0;
API_GetEquipmentVersion(nType, &date);
//下面是调用的信息我让他显示的格式
table->setItem(0, 0, new QTableWidgetItem(QString
("%1-%2-%3").arg(date.year).arg(date.month).arg(date.day)));
//用一个for嵌套循环遍历每一个表格让其元素居中
//下面是我只调用了一个日期信息让其显示在一个表格子里而已
for (int i = 0; i<1; i++)
{
	for (int j = 0; j<1; j++)
	{
			table->item (i,j)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
	}
}
//如果数据占用的表格不多的话,用下面这个好点
//table->item(0, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);

好了看最终的一个演示出来的效果吧

 好了,就到这里,下次其他的我再继续更新吧,下面我附上一个类似的文章,写的也可以,有些我没有用到的分享出来你们也可以借鉴一下。

Qt中让tableWidget内容中的每个元素居中(qtablewidget的一些使用) - ww学习笔记 - 博客园

  • 6
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: 可以通过设置QTableWidget单元格的对齐方式来实现居中显示。具体的方法是: ``` tableWidget->horizontalHeader()->setDefaultAlignment(Qt::AlignHCenter); // 水平居中 tableWidget->verticalHeader()->setDefaultAlignment(Qt::AlignVCenter); // 垂直居中 ``` 这样设置之后,QTableWidget的单元格控件就会自动居中显示了。如果需要对某个特定的单元格进行居中显示,可以使用setItemAlignment()方法进行设置。例如: ``` QTableWidgetItem *item = new QTableWidgetItem("test"); item->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); tableWidget->setItem(0, 0, item); ``` 这样设置之后,第一行第一列的单元格内容就会居中显示。 ### 回答2: 要使QTableWidget单元格控件居中显示,可以通过设置单元格的对齐方式来实现。 首先,使用QTableWidget的setItem()函数设置单元格的内容时,可以使用QTableWidgetItem类创建一个表格项,然后使用setAlignment()函数设置表格项的对齐方式。例如,可以使用Qt.AlignCenter参数将表格设置居中对齐。 ```python item = QTableWidgetItem("内容") item.setTextAlignment(Qt.AlignCenter) tableWidget.setItem(row, column, item) ``` 此外,还可以通过setColumnWidth()和setRowHeight()函数设置表格的列宽和行高来保证单元格居中显示。例如,可以将所有列的宽度都设置为合适的大小,并将所有行的高度都设置为合适的大小。 ```python tableWidget.setColumnWidth(column, width) tableWidget.setRowHeight(row, height) ``` 通过以上方法,可以将QTableWidget单元格控件居中显示,使表格更加美观和易读。 ### 回答3: 要将QTableWidget单元格的控件居中,可以使用QTableWidgetItem和setFlags()函数来实现。 首先,我们需要将要居中控件创建为QTableWidgetItem对象。然后,通过调用setFlags()函数设置单元格的对齐方式。在这个函数,我们将Qt的对齐方式Qt.AlignCenter设置为item的flags属性,表示控件应该在单元格居中对齐。 下面是代码示例: ```python # 导入必要的模块 from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QHeaderView from PyQt5.QtCore import Qt # 创建应用和主窗口 app = QApplication([]) window = QMainWindow() # 创建QTableWidget,并设置行列数 table = QTableWidget(3, 2) table.setHorizontalHeaderLabels(['Column A', 'Column B']) # 创建居中对齐控件 item1 = QTableWidgetItem('Text 1') item1.setFlags(Qt.AlignCenter) item2 = QTableWidgetItem('Text 2') item2.setFlags(Qt.AlignCenter) # 将控件添加到指定的单元格 table.setItem(0, 0, item1) table.setItem(0, 1, item2) # 设置表头自适应大小和禁止编辑单元格 table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents) table.verticalHeader().setSectionResizeMode(QHeaderView.ResizeToContents) table.setEditTriggers(QTableWidget.NoEditTriggers) # 将表格添加到主窗口 window.setCentralWidget(table) # 显示主窗口 window.show() # 运行应用 app.exec_() ``` 在上述代码,我们首先使用QTableWidgetItem创建了一个文本控件item1,并将其属性flags设置居中对齐。然后,我们将这个控件添加到第一个单元格(第0行第0列)。同样地,我们通过设置第二个单元格的控件属性flags实现了居中对齐。 最后,我们通过调用setSectionResizeMode()函数设置表头的大小自适应,并使用setEditTriggers()函数禁止了对单元格的编辑。这样我们就实现了居中对齐QTableWidget单元格控件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值