常用控件2

组合选择框

QComboBox 是组合选择框,如下图所示

image

官网介绍

信号:选项改变

如果用户操作修改了QComboBox中的选项就会发出 currentIndexChanged 信号,可以这样指定处理该信号的函数

cbox.currentIndexChanged.connect(handleSelectionChange)

方法:添加一个选项

代码中可以使用 addItem 方法来添加一个选项到 末尾 ,参数就是选项文本

cbox.addItem('byhy')

方法:添加多个选项

代码中可以使用 addItems 方法来添加多个选项到 末尾,参数是包含了多个选项文本的列表

cbox.addItems(['byhy','白月黑羽','python教程'])

方法:清空选项

代码中可以使用 clear 方法来清空选项,也就是删除选择框内所有的选项

cbox.clear()

方法:获取当前选项文本

代码中可以使用 currentText 方法来获取当前 选中的选项 的文本,比如

method = cbox.currentText()

列表

QListWidget 是列表控件,如下图所示

image

Qt Designer 如下图 选择:

image

官网介绍

方法:添加一个选项

代码中可以使用 addItem 方法来添加一个选项到 末尾 ,参数就是选项文本

listWidget.addItem('byhy')

方法:添加多个选项

代码中可以使用 addItems 方法来添加多个选项到 末尾,参数是包含了多个选项文本的列表

listWidget.addItems(['byhy','白月黑羽','python教程'])

方法:删除一个选项

代码中可以使用 takeItem 方法来删除1个选项,参数是该选项所在行

listWidget.takeItem(1)

就会删除第二行选项

方法:清空选项

代码中可以使用 clear 方法来清空选项,也就是删除选择框内所有的选项

listWidget.clear()

方法:获取当前选项文本

currentItem 方法可以得到列表当前选中项对象(QListWidgetItem) ,再调用这个对象的 text 方法,就可以获取文本内容,比如

listWidget.currentItem().text()

就获取了 第1行,第1列 的单元格里面的文本。

listWidget.currentItem().text()

表格

QTableWidget 是表格控件,如下图所示

image

Qt Designer 如下图 选择:

image


官网介绍

创建列 和 标题栏

我们可以通过 Qt designer 为一个表格创建列和对应的标题栏。

只需要双击 Qt designer 设计的窗体中的 表格控件, 就会出现这样的对话框。

image

标签栏中,点击左下角的加号,就可以为 添加一个列,并且设置标题栏名称。

image

方法:获取所有行数

代码中可以使用 rowCount 方法来获取表格所有的函数,比如

method = table.rowCount()

方法:获取当前选中是第几行

代码中可以使用 currentRow 方法来获取当前选中是第几行,比如

method = table.currentRow()

注意:行数是从0开始的, 第一行的行数是 0

方法:插入一行

insertRow 方法可以在指定位置插入一行,比如

table.insertRow(0)

就插入一行到第 1 行这个位置, 表格原来第1行(包括原来的第1行)以后的内容,全部往下移动一行。

table.insertRow(2)

就插入一行到第 3 行这个位置, 表格原来第3行(包括原来的第3行)以后的内容,全部往下移动一行。

方法:删除一行

removeRow 方法可以删除指定位置的一行,比如

table.removeRow(0)

就删除第 1 行, 表格原来第1行以后的内容,全部往上移动一行。

table.insertRow(2)

就删除第 3 行, 表格原来第3行以后的内容,全部往上移动一行。

方法:获取某个单元格文本的内容

item 方法可以指定位置的单元格对象(QTableWidgetItem) ,再调用这个对象的 text 方法,就可以获取文本内容,比如

table.item(0,0).text()

就获取了 第1行,第1列 的单元格里面的文本。

table.item(2,4).text()

就获取了 第3行,第5列 的单元格里面的文本。