QTableWidget控件属性

QTableWidget控件属性
一、禁止编辑表格
在默认情况下,表格里的字符是可以更改的。
比如双击一个单元格,就可以修改原来的内容,如果想禁止用户的这种操作,让这个表格对用户只读,可以这样:
ui.qtablewidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
二、设置表格为选择整行
/设置表格为整行选中/
ui.qtablewidget->setSelectionBehavior(QAbstractItemView::SelectRows);
三、设置单个选中和多个选中
单个选中意味着每次只可以选中一个单元格,多个就是相当于可以选择”一片“那种模式。

/设置允许多个选中/
ui.qtablewidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
四、表格表头的显示与隐藏
对于水平或垂直方向的表头,如果不想显示可以用以下方式进行(隐藏/显示)设置:
ui.qtablewidget->verticalHeader()->setVisible(true);
ui.qtablewidget->horizontalHeader()->setVisible(false);
五、设置具体单元格中字体的对齐方式
ui.qtablewidget->item(0, 0)->setTextAlignment(Qt::AlignHCenter);
六、设置具体单元格中字体格式
ui.qtablewidget->item(1, 0)->setBackgroundColor(QColor(0,60,10));
ui.qtablewidget->item(1, 0)->setTextColor(QColor(200,111,100));
ui.qtablewidget->item(1, 0)->setFont(QFont(“Helvetica”));
七、设置具体单元格的值
ui.qtablewidget->setItem(1, 0, new QTableWidgetItem(str));
八、把QTableWidgetItem对象内容转换为QString

QString str =ui.qtablewidget->item(0, 0)->data(Qt::DisplayRole).toString();
九、具体单元格中添加控件
QComboBox *comBox = new QComboBox();
comBox->addItem(“F”);
comBox->addItem(“M”);
ui.qtablewidget->setCellWidget(0,3,comBox);
十、合并单元格

//合并单元格的效果
ui.qtablewidget->setSpan(2, 2, 3, 2);
//第一个参数:要改变的单元格行数
//第二个参数:要改变的单元格列数
//第三个参数:需要合并的行数
//第四个参数:需要合并的列数
十一、具体单元格中插入图片
ui.qtablewidget->setItem(3, 2, new QTableWidgetItem(QIcon(“images/music.png”), “Music”));
十二、设置显示网格
ui.qtablewidget->setShowGrid(true);//显示表格线
十三、设置滚动条
ui.qtablewidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//去掉水平滚动条
十四、设置列标签
//初始化界面
QStringList HStrList;
HStrList.push_back(QString(“name”));
HStrList.push_back(QString(“id”));
HStrList.push_back(QString(“age”));
HStrList.push_back(QString(“sex”));
HStrList.push_back(QString(“department”));

//设置行列数(只有列存在的前提下,才可以设置列标签)
int HlableCnt = HStrList.count();
ui.qtablewidget->setRowCount(10);
ui.qtablewidget->setColumnCount(HlableCnt);

//设置列标签
ui.qtablewidget->setHorizontalHeaderLabels(HStrList);
十五、设置行和列的大小设为与内容相匹配
ui.qtablewidget->resizeColumnsToContents();
ui.qtablewidget->resizeRowsToContents();
十六、设置字体
ui.qtablewidget->setFont(font); //设置字体
十七、获取某一单元格的内容
QString strText = ui.qtablewidget->item(0, 0)->text();

槽函数
connect(lineEdit,SIGNAL(textChanged(QString)),this,SLOT(showArea()));
窗体标题隐藏
this->setWindowFlags(Qt::FramelessWindowHint);
窗体居中显示
this->move((pDesk->width()- this->width())/2, (pDesk->height()- this->height())/2);
背景窗体透明
this->setAttribute(Qt::WA_TranslucentBackground, true);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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单元格控件

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值