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)
QT Pyside2常用按钮控件方法(二)
于 2022-05-19 22:40:29 首次发布