QTableWidget怎么设置所有单元格居中显示,用C++
时间: 2024-02-25 19:52:14 浏览: 34
您可以使用QTableWidget的setItemAlignment()函数来设置所有单元格的对齐方式为居中。具体代码如下:
```c++
// 创建QTableWidget对象
QTableWidget *tableWidget = new QTableWidget();
// 设置行列数
tableWidget->setRowCount(5);
tableWidget->setColumnCount(5);
// 循环设置所有单元格居中对齐
for(int i=0; i<tableWidget->rowCount(); i++) {
for(int j=0; j<tableWidget->columnCount(); j++) {
QTableWidgetItem *item = new QTableWidgetItem();
item->setTextAlignment(Qt::AlignCenter); // 设置单元格对齐方式
tableWidget->setItem(i, j, item); // 设置单元格内容
}
}
```
以上代码将创建一个5行5列的QTableWidget对象,然后循环设置所有单元格的对齐方式为居中。您可以根据实际情况进行修改。
相关问题
QTableWidget怎么设置所有单元格居中显示
可以使用 QTableWidget 的 setStyleSheet() 方法来设置所有单元格的文本居中显示。具体操作如下:
```python
from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem, QHBoxLayout, QWidget
# 创建表格控件
table_widget = QTableWidget()
# 创建表格行和列
table_widget.setRowCount(2)
table_widget.setColumnCount(2)
# 设置表格内容
item1 = QTableWidgetItem("第一行第一列")
table_widget.setItem(0, 0, item1)
item2 = QTableWidgetItem("第一行第二列")
table_widget.setItem(0, 1, item2)
item3 = QTableWidgetItem("第二行第一列")
table_widget.setItem(1, 0, item3)
item4 = QTableWidgetItem("第二行第二列")
table_widget.setItem(1, 1, item4)
# 设置所有单元格居中显示
table_widget.setStyleSheet("QTableWidget::item {text-align:center}")
# 将表格控件添加至布局中
layout = QHBoxLayout()
widget = QWidget()
widget.setLayout(layout)
layout.addWidget(table_widget)
```
以上代码中,通过设置 QTableWidget 的样式表,将所有单元格的文本居中显示。
在C++ QT中使用QTableWidget显示 access表中 数据
以下是在C++ QT中使用QTableWidget显示access表中数据的示例代码:
```cpp
// 首先需要包含QTableWidget和QTableWidgetItem的头文件
#include <QTableWidget>
#include <QTableWidgetItem>
// 创建QTableWidget对象
QTableWidget *tableWidget = new QTableWidget(this);
// 打开access数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=your_database_path");
if (!db.open()) {
qDebug() << "Failed to open database.";
return;
}
// 执行SQL查询语句
QSqlQuery query;
query.exec("SELECT * FROM your_table_name");
// 设置表格行数和列数
tableWidget->setRowCount(query.size());
tableWidget->setColumnCount(query.record().count());
// 遍历查询结果,将数据添加到表格中
int row = 0;
while (query.next()) {
for (int column = 0; column < query.record().count(); column++) {
QTableWidgetItem *item = new QTableWidgetItem(query.value(column).toString());
tableWidget->setItem(row, column, item);
}
row++;
}
// 显示表格
tableWidget->show();
```
需要注意的是,这里使用了QSqlDatabase和QSqlQuery来连接和查询access数据库,因此需要在.pro文件中添加以下语句:
```
QT += sql
```