PySide6之QTableWidget

笔记未整理,混乱

参考Qt Designer生成的模板,先读源码

if (self.tableQingDan.columnCount() < 5):
    self.tableQingDan.setColumnCount(5)

你在界面设计时有多少列,这里就限定多少列,比如5

__qtablewidgetitem(*) = QTableWidgetItem()
self.tableQingDan.setHorizontalHeaderItem(0, __qtablewidgetitem(*))

接下来是设置列项目的属性,第一列*没有,第二列开始从1开始,当前列的名称是可翻译的,放入接下来的retranslateUi这个过程函数

def retranslateUi(self, Form):
    ___qtablewidgetitem = self.tableQingDan.horizontalHeaderItem(0)
    ___qtablewidgetitem.setText(QCoreApplication.translate("Form", u"\u8f66\u724c", None));

QCoreApplication.translate

PySide6.QtCore.QCoreApplication.translate(context, key[, disambiguation=None[, n=-1]])

context:通常是类名(例如,“MyDialog”),可以是英文文本,也可以是简短的标识发短信。

disambiguation:消除歧义(澄清):这是当有多个需要翻译文字的对象有相同文字时,避免出现歧义而额外添加的消除歧义字符,缺省为空,一般歧义字符设置为其所在对象对应类的名字,此消歧参数是为转换器指定注释的首选方法。

如果选择不可翻译,就会单独设置,如下:

__qtablewidgetitem = QTableWidgetItem()
__qtablewidgetitem.setText(u"\u8f66\u724c");
self.tableQingDan.setHorizontalHeaderItem(0, __qtablewidgetitem)
self.tableQingDan.setObjectName(u"tableQingDan")
self.tableQingDan.setGeometry(QRect(1, 7, 525, 278))

设置对象名称,和对象尺寸

QMetaObject.connectSlotsByName(Form)

这个是默认槽函数 ,用来对应默认对象的默认槽函数

def on_<object name>_<signal name>(<signal parameters>)

只要槽函数名规则是这样的:on_子对象名_信号名,就不用写onnect函数来连接信号和槽了


其他属性表参考:Qt Designer中的QWidget属性表介绍-腾讯云开发者社区-腾讯云 (tencent.com)

常见:

QAbstractItemView大项:

alternatingRowColors 此属性保存是否使用交替颜色绘制背景;如果该属性为真,则使用QPalette::Base和 QPalette::AlternateBase绘制项目背景;否则,背景将使用QPalette::Base颜色绘制;


QTableView 大项:

showGrid 是否显示网格

  • gridStyle 绘制网格的样式
    NoPen 没有网格
    SolidLine 简单的线条
    DashLine 破折号
    DotLine 点
    DashDotLine 交替的点和破折号
    DashDotDotLine 一个破折号,两个点,一个破折号,两个点

  • CustomDashLine 使用定义的自定义模式

  • sortingEnabled 是否启用排序

  • wordWrap 文本自动换行

  • cornerButtonEnabled 左上角的按钮是否已启用

Header标题属性

  • horizontalHeaderVisible 是否显示水平标题栏

  • horizontalHeaderCascadingSectionResizes 用户调整达到最小后,是否将交互式大小调整级联到以下部分

  • horizontalHeaderDefaultSectionSize 默认每栏等宽显示宽度

  • horizontalHeaderHighlightSections 所选项目的部分是否突出显示

  • horizontalHeaderMinimumSectionSize 每栏可调节的最小宽度

  • horizontalHeaderShowSortIndicator 是否显示排序指示器

  • horizontalHeaderStretchLastSection 标头中的最后一个可见部分是否占用所有可用空间

  • verticalHeaderVisible 是否显示垂直标题栏

  • verticalHeaderCascadingSectionResizes 用户调整达到最小后,是否将交互式大小调整级联到以下部分

  • verticalHeaderDefaultSectionSize 默认每行等宽显示宽度

  • verticalHeaderHighligtSections 所选项目的部分是否突出显示

  • verticalHeaderMinimumSectionSize 每行可调节的最小宽度

  • verticalHeaderShowSortIndicator 是否显示排序指示器

  • verticalHeaderStretchLastSection 行中的最后一个可见部分是否占用所有可用空间

activated(QModelIndex) 当用户激活index指定的项目时,发出信号 cellActivated(int,int) 单元格被激活时,发出信号,并传递(行,列) cellChanged(int,int) 单元格中的项目数据发生更改时,发出信号,并传递(行,列) cellClicked(int,int) 单击表格中的单元格,发出信号,并传递(行,列) cellDoubleClicked(int,int) 双击表格中的单元格,发出信号,并传递(行,列) cellEntered(int,int) 当鼠标光标进入单元格时,发出信号,并传递(行,列) cellPressed(int,int) 按下表格中的单元格,发出信号,并传递(行,列) clicked(QModelIndex) 左键单击鼠标按钮时,发出此信号 currentCellChanged(int,int,int,int) 单元格发生变化,发出信号(当前单元格的行列,先前具有焦点的单元格行列) currentItemChanged(QTableWidgetItem*,QTableWidgetItem*) 项目发生变化,发出信号(当前项目,先前项目) doubleClicked(QModelIndex) 双击鼠标按钮时,发出此信号 entered(QModelIndex) 当鼠标光标进入index指定的项目时,发出此信号 iconSizeChanged(QSize) 在视图可见时设置此图标大小时,发出此信号 itemActivated(QTableWidgetItem*) 表中项目被激活时,发出信号,并传递(项目) itemChanged(QTableWidgetItem*) 表中项目数据发生变化,发出信号,并传递(项目) itemClicked(QTableWidgetItem*) 单击表中的项目,发出信号,并传递(项目) itemDoubleClicked(QTableWidgetItem*) 双击表格中的项目,发出信号,并传递(项目) itemEntered(QTableWidgetItem*) 当鼠标光标进入项目时,发出信号,并传递(项目) itemPressed(QTableWidgetItem*) 按下表格中的项目,发出信号,并传递(项目) itemSelectionChanged() 选择发生变化,发出信号 pressed(QModelIndex) 按下鼠标按钮时会发出此信号 viewportEntered() 当鼠标光标进入视图时会发出此信号

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.0

@2021 yunfeng.net.cn 版权所有
浙ICP备16007973号-1