qtablewidget控件居中_单元格Edi期间QTableWidgetItem中的文本居中

下面的PyQt4示例演示了我的问题。QTableWidget单元格中的文本很好地居中,直到您编辑这些单元格。编辑单元格时,文本左对齐。在

我想在编辑每个单元格时保持中心对齐。在import sys

from PyQt4 import QtGui

from PyQt4 import QtCore

from PyQt4 import Qt

from PyQt4.QtCore import *

from PyQt4.QtGui import *

class MainWindow(QtGui.QWidget):

def __init__(self, parent=None):

super(MainWindow, self).__init__(parent)

self.table = QtGui.QTableWidget(parent=self)

self.table.setEditTriggers(QtGui.QAbstractItemView.AllEditTriggers)

self.table.setColumnCount(2)

self.table.setRowCount(2)

self.table.setHorizontalHeaderLabels(['col1','col2'])

self.table.setVerticalHeaderLabels(['row1','row2'])

item = QtGui.QTableWidgetItem('x')

item.setFlags(Qt.NoItemFlags | Qt.ItemIsEditable | Qt.ItemIsEnabled | Qt.ItemIsSelectable)

item

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用QTableWidget的setItem方法来设置单元格内容,然后通过设置单元格的对齐方式来使控件居中。例如: ```python # 创建一个QTableWidgetItem对象 item = QtWidgets.QTableWidgetItem("文本") # 设置单元格对齐方式为居中 item.setTextAlignment(QtCore.Qt.AlignCenter) # 将item设置为某个单元格 tableWidget.setItem(row, column, item) ``` 其`row`和`column`分别是单元格的行数和列数,`QtCore.Qt.AlignCenter`为对齐方式,可以设置为`QtCore.Qt.AlignLeft`(左对齐)、`QtCore.Qt.AlignRight`(右对齐)等。 ### 回答2: 在QTableWidget,可以通过设置单元格控件的对齐方式来使其居中显示。可以通过以下方式实现: 1. 首先,获取目标单元格的行列索引,可以使用tableWidget的item()方法通过行列索引获取单元格控件。 2. 然后,可以使用setFlags()方法设置单元格的对齐方式。通过Qt类的Qt.AlignCenter常量来指定居中对齐。 下面是一个示例: ```python # 导入需要的模块 from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QAbstractItemView from PyQt5.QtCore import Qt # 创建应用程序实例 app = QApplication([]) # 创建一个QTableWidget实例 tableWidget = QTableWidget() # 设置表格的行列数 tableWidget.setRowCount(2) tableWidget.setColumnCount(2) # 禁止编辑单元格 tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) # 为表格添加内容 tableWidget.setItem(0, 0, QTableWidgetItem("单元格1")) tableWidget.setItem(0, 1, QTableWidgetItem("单元格2")) tableWidget.setItem(1, 0, QTableWidgetItem("单元格3")) tableWidget.setItem(1, 1, QTableWidgetItem("单元格4")) # 设置单元格控件居中 for row in range(tableWidget.rowCount()): for col in range(tableWidget.columnCount()): item = tableWidget.item(row, col) item.setTextAlignment(Qt.AlignCenter) # 显示表格 tableWidget.show() # 运行应用程序 app.exec_() ``` 通过上述示例代码,我们可以看到表格单元格控件被设置为居中显示。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值