QT Pyside2常用按钮控件方法(二)

from base_control.action_class import Action
from PySide2.QtWidgets import QApplication
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile, QSize
from PySide2.QtGui import QIcon
from PySide2.QtWidgets import QTableWidgetItem
from PySide2.QtCore import Qt


class Control2():

    def __init__(self):
        ui_file = QFile("./uiDic/clickButton2.ui")
        ui_file.open(QFile.ReadOnly)
        ui_file.close()

        # 从文件中加载UI定义
        # 从 UI 定义中动态 创建一个相应的窗口对象
        # 注意:里面的控件对象也成为窗口对象的属性了
        # 比如 self.ui.button , self.ui.textEdit
        self.ui = QUiLoader().load(ui_file)

    def comboBoxControl(self):
        '''
        单选下拉框控件comboBox
        :return:
        '''
        self.ui.comboBox.addItem('delete')  # 添加一个选项到末尾 ,参数就是选项文本
        self.ui.comboBox.addItems(['bbq', 'QT学习', '图形化界面'])  # 添加d多个选项到末尾 ,参数是包含了多个选项文本的列表
        self.ui.comboBox.clear()  # 清空选项,也就是删除选择框内所有的选项,比如复选框选择了某个选项,点击清除按钮删除
        self.ui.comboBox.currentIndexChanged.connect(self.handleSelectionChange)
        # 用户操作修改了QComboBox中的选项就会发出 currentIndexChanged 信号,可以这样指定处理该信号的函数,比如切换选项后直接查询列表

    def handleSelectionChange(self):
        method = self.ui.comboBox.currentText()  # 获取当前选中的选项的文本
        print(method)

    def listWidgetControl(self):
        '''
        列表控件listWidget
        :return:
        '''
        self.ui.listWidget.addItem('选项0')  # 在列表下添加一个值
        self.ui.listWidget.addItems(['选项1', '选项2', '选项3'])  # 在列表下添加多个值
        self.ui.listWidget.takeItem(1)  # 使用下标删除
        self.ui.listWidget.clear()  # 清除列表选项
        self.ui.listWidget.item(0).text()   # 获取选项文本,使用下标获取选项

    def tableWidgetControl(self):
        self.ui.tableWidget.insertRow(0)  # 通过下标新增一行
        self.ui.tableWidget.removeRow(0)  # 通过下标删除一行
        self.ui.tableWidget.insertColumn(0)  # 通过下标新增一列
        self.ui.tableWidget.removeColumn(0)  # 通过下标删除一列
        self.ui.tableWidget.setItem(1, 0, QTableWidgetItem('白月黑羽'))  # 通过行列的下标在对应表格内添加值,此种方法是在表格为空的前提下,此种情况需要先创建单元格对象
        self.ui.tableWidget.item(0, 0).setText('王二小')  # 通过行列的下标在对应表格内添加值,此种方法是在表格有内容的前提下

        item = QTableWidgetItem('图形化界面')  # 先实例化一个表格对象
        item.setFlags(Qt.ItemIsEnabled)  # 设置参数名字段不允许修改
        self.ui.tableWidget.setItem(1, 0, item)

        item = QTableWidgetItem()
        item.setText('小工具')
        item.setTextAlignment(Qt.AlignCenter)   # 设置文本居中
        self.ui.tableWidget.setItem(1, 0, item)

        # self.ui.tableWidget.QTableWidget
        # {
        #     border: 1px solid green;
        # gridline - color: rgb(71, 191, 255);
        # }

        self.ui.tableWidget.item(0, 0).text()  # 获取指定位置单元格的内容
        row_count = self.ui.tableWidget.rowCount()   # 获取所有的行数
        column_count = self.ui.tableWidget.columnCount()    # 获取所有的列数
        current_row = self.ui.tableWidget.currentRow()  # 获取当前表格的所在行数
        current_column = self.ui.tableWidget.currentColumn()  # 获取当前表格的所在列数
        self.ui.tableWidget.setRowCount(10)     # 使用 setRowCount 方法来设置表格 行数
        self.ui.tableWidget.setColumnCount(10)  # 使用 setColumnCount 方法来设置表格 列数
        self.ui.tableWidget.clearContents() # 仅仅清除表格的内容
        self.ui.tableWidget.setRowCount(0)  # 删除表格及表格内容

        self.ui.tableWidget.setColumnWidth(0, 180)    # 设定第一行的列宽为180像素(列宽只能在代码中设定,无法在designer中设定)
        self.ui.tableWidget.horizontalHeader().setStretchLastSection(True)  # 设置列宽随着父窗口缩放和缩放
        self.ui.tableWidget.cellChanged.connect(self.cfgItemChanged)  # 指定当单元格内容发生变化时,执行连接的函数
    def cfgItemChanged(self):
        print(123)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值