精华内容
下载资源
问答
  • 向列表框添加一个条目
    千次阅读
    2021-01-30 11:07:17

    我觉得上面的解决方案有点“晦涩”。特别是当我们在这里处理学习工艺或学习python/tkinter的程序员时。

    我提出了一个更具解释性的解决方案,我认为是这样的。我希望这对你更好。#-*- coding: utf-8 -*-

    # Python version 3.4

    # The use of the ttk module is optional, you can use regular tkinter widgets

    from tkinter import *

    from tkinter import ttk

    main = Tk()

    main.title("Multiple Choice Listbox")

    main.geometry("+50+150")

    frame = ttk.Frame(main, padding=(3, 3, 12, 12))

    frame.grid(column=0, row=0, sticky=(N, S, E, W))

    valores = StringVar()

    valores.set("Carro Coche Moto Bici Triciclo Patineta Patin Patines Lancha Patrullas")

    lstbox = Listbox(frame, listvariable=valores, selectmode=MULTIPLE, width=20, height=10)

    lstbox.grid(column=0, row=0, columnspan=2)

    def select():

    reslist = list()

    seleccion = lstbox.curselection()

    for i in seleccion:

    entrada = lstbox.get(i)

    reslist.append(entrada)

    for val in reslist:

    print(val)

    btn = ttk.Button(frame, text="Choices", command=select)

    btn.grid(column=1, row=1)

    main.mainloop()

    请注意,使用ttk主题的小部件是完全可选的。你可以使用普通tkinter的小部件。

    更多相关内容
  • 简单弄了滚动条和鼠标滚轮响应,可以发送消息添加条目,和删除条目。 显示效果就是简陋的一个条目矩形,里面显示条目内容…… 还有一些基本的,比如应该当前有一个条目是焦点,突出显示,并且可以上下键来移动这个...
  • PyQT5控件:下拉列表框(QComboBox)

    千次阅读 2020-12-16 06:03:36
    QComboBox下拉列表框QComboBox以占用最少...QComboBox类属性editable 设置是否可编辑currentText设置当前列表框显示内容(前提是先在列表框添加内容)currentIndex设置当前列表框显示内容的索引(前提是先在列表框添加...

    QComboBox下拉列表框QComboBox以占用最少屏幕空间的方式向用户显示选项列表。它是一个选择控件,显示当前项目,并可以弹出可选项目列表。组合框可以是可编辑的,允许用户修改列表中的每个项目。

    QComboBox类属性editable 设置是否可编辑

    currentText设置当前列表框显示内容(前提是先在列表框添加内容)

    currentIndex设置当前列表框显示内容的索引(前提是先在列表框添加内容)

    maxVisibleitems当下拉列表弹出时,允许显示的最大子项目

    maxCount设置下拉选项集合中的数目

    insertPolicy设置用户在可编辑的组合框中输入一个新的字符串时插入的策略NoInsert 不插入

    InsertAtTop 在顶部插入

    InsertAtCurrent在当前插入

    InsertAtBottom 在底部插入

    InsertAfterCurrent 在当前的后面插入

    InsertBeforeCurrent 在当前的前面插入

    InsertAlphabetically 按字母顺序插入sizeAdjustPolicy大小调节策略AdjustToContents 根据所有内容的长度

    AdjustToContentsOnFirstShow根据第一次显示的内容长度

    AdjustToMinimumContentsLength 适应最小内容长度

    AdjustToMinimumContentsLengthWithIcon 适应最小内容长度与图标minimumContentsLength 最小的内容长度

    iconSize 图标大小

    duplicatesEnabled 设置用户在可编辑的组合框中重复添加

    frame 边框

    modelColumn设置显示的模型列

    QComboBox信号

    信号触发条件:activated(QString) 与用户交互时,某个条目被选中发出信号,并传递条目的值

    activated(int) 与用户交互时,某个条目被选中发出信号,并传递条目的索引

    currentIndexChanged(QString) 当前索引发生改变时发出信号,并传递改变之后的值(用户交互,代码控制)

    currentIndexChanged(int) 当前索引发生改变时发出信号,并传递改变之后的索引(用户交互,代码控制)

    currentTextChanged(QString) 当前文本内容发生改变时,并传递文本内容

    editTextChanged(QString) 编辑的文本发生改变时发出信号,并传递文本内容

    highlighted(QString) 在下拉列表中,鼠标移动到某个条目时发出信号,并传递条目的值

    highighted(int) 在下拉列表中,鼠标移动到某个条目时发出信号,并传递条目的索引

    在Qt设计师中,直接双击可添加下拉框条目

    QComboBox 下拉框实例

    import sys

    from PyQt5.QtWidgets import QWidget, QComboBox, QApplication

    class ComboxDemo(QWidget):

    def __init__(self):

    super().__init__()

    # 设置标题

    self.setWindowTitle('ComBox例子')

    # 设置初始界面大小

    self.resize(300, 200)

    # 实例化QComBox对象

    self.cb = QComboBox(self)

    self.cb.move(100, 20)

    # 单个添加条目

    self.cb.addItem('C')

    self.cb.addItem('C++')

    self.cb.addItem('Python')

    # 多个添加条目

    self.cb.addItems(['Java', 'C#', 'PHP'])

    # 信号

    self.cb.currentIndexChanged[str].connect(self.print_value) # 条目发生改变,发射信号,传递条目内容

    self.cb.currentIndexChanged[int].connect(self.print_value) # 条目发生改变,发射信号,传递条目索引

    self.cb.highlighted[str].connect(self.print_value) # 在下拉列表中,鼠标移动到某个条目时发出信号,传递条目内容

    self.cb.highlighted[int].connect(self.print_value) # 在下拉列表中,鼠标移动到某个条目时发出信号,传递条目索引

    def print_value(self, i):

    print(i)

    if __name__ == '__main__':

    app = QApplication(sys.argv)

    comboxDemo = ComboxDemo()

    comboxDemo.show()

    sys.exit(app.exec_())

    展开全文
  • 工作表中添加列表框或组合框

    千次阅读 2012-05-04 10:29:40
    添加列表框(表单控件) 如果“开发工具”选项卡未显示,请显示它。 显示“开发工具”选项卡 单击“Office 按钮” ,然后单击“Excel 选项”。 在“常用”类别中的“使用 Excel 时采用的首选项”下,...

    http://office.microsoft.com/zh-cn/excel-help/HP010236681.aspx

    添加列表框(表单控件)

    1. 如果“开发工具”选项卡未显示,请显示它。

    隐藏显示“开发工具”选项卡

    1. 单击“Office 按钮”按钮图像 ,然后单击“Excel 选项”
    1. “常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”

     注释   功能区是 Microsoft Office Fluent 用户界面的一个组件。

    1. “开发工具”选项卡上的“控件”组中,单击“插入”,然后在“表单控件”下单击“列表框”按钮图像

    “控件”组

    1. 在工作表中单击该列表框的左上角要出现的位置。
    2. “开发工具”选项卡上的“控件”组中,单击“属性”“编辑代码”按钮

     提示   也可以右键单击该控件,然后单击“设置控件格式”

    若要指定控件属性,请执行下列操作:

    1. “数据源区域”框中,输入对某个区域的单元格引用,该区域中包含要在该列表框中显示的值。
    2. “单元格链接”框中,输入包含列表框选定内容的单元格引用。

    链接单元格返回列表框内的选定项目数。区域内的第一个项目将返回值 1,区域内的第二个项目将返回值 2,依此类推。

    在公式中使用此数字以返回数据源区域内的实际项目。

    例如,甜点喜好表单上有一个链接到单元格 C1 的列表框,该列表的数据源区域是 D1:D5,该区域中的项目有“冰淇淋”(D1)、“蛋糕”(D2)、“甜露酒”(D3)、“糖果”(D4) 和“巧克力”(D5)。如果 C1 的值是 3,则基于该列表框中的当前选定内容,在单元格 B1 中输入的以下公式将返回区域 D1:D5 中的值“甜露酒”。

    =INDEX(D1:D5,C1)

    1. “选定类型”下,通过执行下列操作之一指定如何在列表框中选择项目:
      • 若要创建单项选择列表框,请单击“单一”
      • 若要创建多项选择列表框,请单击“复选”
      • 若要创建扩展选择列表框,请单击“扩展”

     注释   如果将选定类型设置为“复选”“扩展”,则在“单元格链接”框中指定的单元格将返回值 0 并且将被忽略。“复选”“扩展”选定类型需要使用 Microsoft Visual Basic for Applications (VBA) 代码。在这些情况下,请考虑使用 ActiveX 列表框控件。

    返回页首 返回页首

    添加列表框(ActiveX 控件)

    1. 如果“开发工具”选项卡未显示,请显示它。

    显示显示“开发工具”选项卡

    1. 单击“Office 按钮”按钮图像 ,然后单击“Excel 选项”
    1. “常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”

     注释   功能区是 Microsoft Office Fluent 用户界面的一个组件。

    1. “开发工具”选项卡上的“控件”组中,单击“插入”,然后在“ActiveX 控件”下单击“列表框”按钮图像

    “控件”组

    1. 在工作表中单击该列表框的左上角要出现的位置。
    2. 若要编辑 ActiveX 控件,请确保处于设计模式。在“开发工具”选项卡上的“控件”组中,打开“设计模式”按钮图像
    3. 若要指定控件属性,请在“开发工具”选项卡上的“控件”组中单击“属性”“编辑代码”按钮

     提示   也可以右键单击该控件,然后单击“属性”

    “属性”对话框随即出现。若要获取有关每个属性的详细信息,请选择该属性,然后按 F1 以显示 Visual Basic 帮助 (Visual Basic 帮助:要获得 Visual Basic 帮助,可指向“工具”菜单中的“宏”,然后单击“Visual Basic 编辑器”。在“帮助”菜单上,单击“Microsoft Visual Basic 帮助”。)主题。还可以在 Visual Basic 帮助的“搜索”框中键入该属性名称。下一部分总结了可用的属性。

    按功能类别划分的属性摘要

    如果要指定 请使用此属性
    常规: 
    打开工作簿时是否加载控件。(如果是 ActiveX 控件,则忽略。)AutoLoad (Excel)
    控件是否可以接收焦点并响应用户生成的事件。Enabled(表单)
    控件是否可编辑。Locked(表单)
    控件的名称。Name(表单)
    控件附加到其下方单元格的方式(自由浮动、移动但不调整大小,或者移动并调整大小)。Placement (Excel)
    控件是否可打印。PrintObject (Excel)
    控件是可见还是隐藏。Visible(表单)
    文本: 
    字体属性(加粗、倾斜、字号、删除线、下划线和粗细)。BoldItalicSizeStrikeThroughUnderlineWeight(表单)
    输入法编辑器 (IME) 的默认运行时模式。IMEMode(表单)
    控件的大小是否可调整以显示全部或部分文本行。IntegralHeight(表单)
    是否允许选择多个项目。MultiSelect(表单)
    控件中的文本。Text(表单)
    文本在控件中的对齐方式(左对齐、居中或右对齐)。TextAlign(表单)
    数据和绑定: 
    链接至控件值的区域。LinkedCell (Excel)
    控件的内容或状态。Value(表单)
    大小和位置: 
    高度或宽度(以磅为单位)。HeightWidth(表单)
    控件与工作表的左边缘或上边缘之间的距离。LeftTop(表单)
    格式设置: 
    背景色。BackColor(表单)
    边框的颜色。BorderColor(表单)
    边框的类型(无或单线)。BorderStyle(表单)
    前景色。ForeColor(表单)
    控件是否有阴影。Shadow (Excel)
    边框的可视外观(平面、凸起、凹陷、蚀刻或凸块)。SpecialEffect(表单)
    键盘和鼠标: 
    自定义鼠标图标。MouseIcon(表单)
    用户将鼠标放在特定对象上时显示的指针类型(例如标准指针、箭头或 I 型)。MousePointer(表单)
    特定于列表框: 
    多个列的数据源。BoundColumn(表单)
    要显示的列数。ColumnCount(表单)
    作为列标题的单个行。ColumnHeads(表单)
    每列的宽度。ColumnWidths(表单)
    用于填充列表的区域。ListFillRange (Excel)
    列表样式(普通、带有选项按钮或带有复选框)。ListStyle(表单)
    在用户键入时控件搜索其列表的方式(首字母、整个条目或者未指定)MatchEntry(表单)
    当用户选择一行时要存储到“Text”属性中的列。TextColumn(表单)
    出现在列表中的最顶端位置的项目。TopIndex(表单)

     注释 

    • 若要创建启用了多项选择或扩展选择的列表框,请使用“MultiSelect”属性。在这种情况下,“LinkedCell”属性将返回值“#N/A”。必须使用 VBA 代码来处理多项选择。
    • 若要创建具有列标题的两列列表框,请将“ColumnCount”设置为“2”,将“ColumnHeads”设置为“True”、将“ColumnWidths”设置为每列需要的宽度(例如,72pt;72pt),将“ListFillRange”设置为用于填充该列表的区域(例如,B2:C6),将“BoundColumn”设置为“1”或“2”(以指示要保存的列值),并将“LinkedCell”设置为包含选定值的单元格地址。默认情况下,将列标签用作列标题(例如,“列 B”和“列 C”)。若要使用您自己的列标题,在关闭“属性”对话框之前,请将它们(例如,B1 和 C1)放在“ListFillRange”中指定的第一个值的正上方。最后,调整列表框的大小以显示两个列。
    • 若要创建在列表框中显示一个值但将另一个值保存在链接单元格中的列表框,请创建一个两列列表框,然后通过将其中一列的“ColumnWidths”值设置为“0”来隐藏该列。例如,您可以设置一个两列列表框,其中一列包含节假日的名称,第二列包含与节假日相关的日期。若要向用户显示节假日名称,请将第一列指定为“TextColumn”。若要存储节假日的日期,请将第二列指定为“BoundColumn”。若要隐藏节假日的日期,请将第二列的“ColumnWidths”属性设置为“0”。

    返回页首 返回页首

    添加组合框(表单控件)

    1. 如果“开发工具”选项卡未显示,请显示它。

    显示显示“开发工具”选项卡

    1. 单击“Office 按钮”按钮图像 ,然后单击“Excel 选项”
    1. “常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”

     注释   功能区是 Microsoft Office Fluent 用户界面的一个组件。

    1. “开发工具”选项卡上的“控件”组中,单击“插入”,然后在“表单控件”下单击“组合框”按钮图像

    “控件”组

    1. 在工作表中单击该组合框的左上角要出现的位置。

    在文本框折叠时会显示下拉箭头。

    1. 若要显示文本框,请将中间偏左处的尺寸控点拖到右侧。
    2. “开发工具”选项卡上的“控件”组中,单击“属性”按钮图像

     提示   也可以右键单击该控件,然后单击“设置控件格式”

    若要指定控件属性,请执行下列操作:

    1. “数据源区域”框中,输入对某个区域的单元格引用,该区域中包含要在组合框下拉列表中显示的值。
    2. “单元格链接”框中,输入包含组合框下拉列表中的选定内容的单元格引用。

    链接单元格将返回组合框下拉列表中的选定项目数。区域内的第一个项目将返回值 1,区域内的第二个项目将返回值 2,依此类推。

    在公式中使用此数字以返回数据源区域内的实际项目。例如,甜点喜好表单上有一个链接到单元格 C1 的组合框,该列表的数据源区域是 D1:D5,该区域中的项目有“冰淇淋”(D1)、“蛋糕”(D2)、“甜露酒”(D3)、“糖果”(D4) 和“巧克力”(D5)。如果 C1 的值是 3,则基于该组合框中的当前选定内容,在单元格 B1 中输入的以下公式将返回区域 D1:D5 中的值“甜露酒”。

    =INDEX(D1:D5,C1)

     注释   如果要创建一个让用户能够在文本框内编辑文本的组合框,请考虑使用 ActiveX 组合框控件。

    1. “下拉显示项数”框中,输入要在组合框的下拉列表中显示的项数。如果值:
      • 为 0,则忽略项数,且将项数当作 1。
      • 小于“数据源区域”框中指定的区域中的项数,则显示滚动条。
      • 等于或大于“数据源区域”框中指定的区域中的项数,则不显示滚动条。

    返回页首 返回页首

    添加组合框(ActiveX 控件)

    1. 如果“开发工具”选项卡未显示,请显示它。

    显示显示“开发工具”选项卡

    1. 单击“Office 按钮”按钮图像 ,然后单击“Excel 选项”
    1. “常用”类别中的“使用 Excel 时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,然后单击“确定”

     注释   功能区是 Microsoft Office Fluent 用户界面的一个组件。

    1. “开发工具”选项卡上的“控件”组中,单击“插入”,然后在“ActiveX 控件”下单击“组合框”按钮图像

    “控件”组

    1. 在工作表中单击该组合框的左上角要出现的位置。
    2. 若要编辑 ActiveX 控件,请确保处于设计模式。在“开发工具”选项卡上的“控件”组中,打开“设计模式”按钮图像
    3. 若要指定控件属性,请在“开发工具”选项卡上的“控件”组中单击“属性”“编辑代码”按钮

     提示   也可以右键单击该控件,然后单击“属性”

    “属性”对话框随即出现。若要获取有关每个属性的详细信息,请选择该属性,然后按 F1 以显示 Visual Basic 帮助 (Visual Basic 帮助:要获得 Visual Basic 帮助,可指向“工具”菜单中的“宏”,然后单击“Visual Basic 编辑器”。在“帮助”菜单上,单击“Microsoft Visual Basic 帮助”。)主题。还可以在 Visual Basic 帮助的“搜索”框中键入该属性名称。下一部分总结了可用的属性。

    按功能类别划分的属性摘要

    如果要指定 请使用此属性
    常规: 
    打开工作簿时是否加载控件。(如果是 ActiveX 控件,则忽略。)AutoLoad (Excel)
    控件是否可以接收焦点并响应用户生成的事件。Enabled(表单)
    控件是否可编辑。Locked(表单)
    控件的名称。Name(表单)
    控件附加到其下方单元格的方式(自由浮动、移动但不调整大小,或者移动并调整大小)。Placement (Excel)
    控件是否可打印。PrintObject (Excel)
    控件是可见还是隐藏。Visible(表单)
    文本: 
    单词或字符是否是用来扩展选定内容的基本单位。AutoWordSelect(表单)
    字体属性(加粗、倾斜、字号、删除线、下划线和粗细)。BoldItalicSizeStrikeThroughUnderlineWeight(表单)
    当控件没有焦点时所选文本是否仍然突出显示。HideSelection(表单)
    输入法编辑器 (IME) 的默认运行时模式。IMEMode(表单)
    用户可以输入的最大字符数。MaxLength(表单)
    用户是否可以通过单击文本左侧来选择一行文本。SelectionMargin(表单)
    控件中的文本。Text(表单)
    文本在控件中的对齐方式(左对齐、居中或右对齐)。TextAlign(表单)
    数据和绑定: 
    链接至控件值的区域。LinkedCell (Excel)
    控件的内容或状态。Value(表单)
    大小和位置: 
    控件的大小是否可以自动调整以显示所有内容。AutoSize(表单)
    高度或宽度(以磅为单位)。HeightWidth(表单)
    控件与工作表的左边缘或上边缘之间的距离。LeftTop(表单)
    格式设置: 
    背景色。BackColor(表单)
    背景样式(透明或不透明)。BackStyle(表单)
    边框的颜色。BorderColor(表单)
    边框的类型(无或单线)。BorderStyle(表单)
    前景色。ForeColor(表单)
    控件是否有阴影。Shadow (Excel)
    边框的可视外观(平面、凸起、凹陷、蚀刻或凸块)。SpecialEffect(表单)
    键盘和鼠标: 
    在用户输入控件的最大字符数后是否发生自动制表符操作。AutoTab(表单)
    是否启用拖放功能。DragBehavior(表单)
    进入控件时的选择行为(全选或不变)。EnterFieldBehavior(表单)
    自定义鼠标图标。MouseIcon(表单)
    用户将鼠标放在特定对象上时显示的指针类型(例如标准指针、箭头或 I 型)。MousePointer(表单)
    特定于组合框: 
    多个列的数据源。BoundColumn(表单)
    要显示的列数。ColumnCount(表单)
    作为列标题的单个行。ColumnHeads(表单)
    每列的宽度。ColumnWidths(表单)
    在下拉按钮上显示的符号(下箭头、普通、省略号或下划线)。DropButtonStyle(表单)
    用于填充列表的区域。ListFillRange (Excel)
    要在列表中显示的最大行数。ListRows(表单)
    列表样式(普通、带有选项按钮或带有复选框)。ListStyle(表单)
    列表的宽度。ListWidth(表单)
    在用户键入时控件搜索其列表的方式(首字母、整个条目或者未指定)MatchEntry(表单)
    作为文本输入的值是否必须与现有列表中的条目相匹配。MatchRequired(表单)
    何时显示下拉按钮(从不、有焦点时或者始终)。ShowDropButtonWhen(表单)
    用户选择或设置值的方式(下拉组合框或下拉列表)。Style(表单)
    当用户选择一行时要存储到“Text”属性中的列。TextColumn(表单)
    出现在列表中的最顶端位置的项目。TopIndex(表单)

     注释 

    • 若要创建具有列标题的两列组合框,请将“ColumnCount”设置为“2”,将“ColumnHeads”设置为“True”,将“ColumnWidths”设置为每列需要的宽度(例如,72pt;72pt),将“ListFillRange”设置为用于填充该列表的区域(例如,B1:C6),将“BoundColumn”设置为“1”或“2”(以指示要保存的列值),将“TextColumn”设置为要在组合框的文本框部分中显示的数据列(可与“BoundColumn”值相同或不同),并将“LinkedCell”设置为将包含选定值的单元格地址。默认情况下,将列标签用作列标题(例如,“列 B”和“列 C”)。若要使用您自己的列标题,在关闭“属性”对话框之前,请将它们(例如,B1 和 C1)放在“ListFillRange”中指定的第一个值的正上方。最后,调整组合框的大小以显示两个列。
    • 若要创建在组合框中显示一个值但将另一个值保存在链接单元格中的组合框,请创建一个两列组合框,然后通过将其中一列的“ColumnWidths”值设置为“0”来隐藏该列。例如,您可以设置一个两列组合框,其中一列包含节假日的名称,第二列包含与节假日相关的日期。若要向用户显示节假日名称,请将第一列指定为“TextColumn”。若要存储节假日的日期,请将第二列指定为“BoundColumn”。若要隐藏节假日的日期,请将第二列的“ColumnWidths”属性设置为“0”。
    • 若要创建不允许用户输入新值的组合框,请将“Style”设置为“2”。若要创建允许用户输入列表中没有的新值的组合框,请将“Style”设置为“1”(默认值)。在这种情况下,如果要动态更新列表值,必须编写 VBA 代码。

     

    展开全文
  • #这是我做过的列表构建,可以智能地处理重新排序。 它假定您放入行号中的值是排序后所需的目标行号。 唯一的例外是当您选择小于... 未来无 - 这是一个演示,如果我决定人们展示这个错误,看看他们是否想要修复它。
  • 实战PyQt5: 014-下拉列表框控件QComboBox

    千次阅读 2020-11-13 10:53:37
    QComboBox下拉列表框,是一个集按钮和下拉列表选项于一体的部件。QComboBox提供了一种用户呈现选项列表的方式,其占用最小量的屏幕空间。 QComboBox中的常用方法: addItem(): 添加一个下拉选项; addItems():...

    QComboBox简介

    QComboBox下拉列表框,是一个集按钮和下拉列表选项于一体的部件。QComboBox提供了一种向用户呈现选项列表的方式,其占用最小量的屏幕空间。

    QComboBox中的常用方法:

    • addItem(): 添加一个下拉选项;
    • addItems(): 从列表中添加下拉选项;
    • clear(): 删除下拉选项集合中的所有选项;
    • count(): 返回下拉选项集合中的数目;
    • currentText(): 返回选中选项的文本;
    • itemText(index): 获取索引为index的item的选项文本;
    • currentIndex(): 返回选中项的索引;
    • setItemText(index, text): 改变序列号为index的文本。

    QComboBox中的常用信号:

    • activated: 当用户选中一个下拉选项时发射该信号;
    • currentIndexChanged: 当下拉选项的索引发生改变时发射该信号;
    • highlighted: 当选中一个已经选中的下拉选项时,发射该信号。

    QComboBox类继承关系:

    实战PyQt5: 014-下拉列表框控件QComboBox

     

    测试QComboBox

    创建文件qcombobox.py, 实现两个QCombobox联动,当选中分类里的某类植物时,在植物下拉列表中列出相应的植物。完整代码如下:

    import sys
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel, QComboBox)
     
    class DemoComboBox(QMainWindow):
        def __init__(self, parent=None):
            super(DemoComboBox, self).__init__(parent)
            
            # 设置窗口标题
            self.setWindowTitle('实战PyQt5: QComboBox Demo!')      
            # 设置窗口大小
            self.resize(400, 240)
            
            self.plants = {'蔬菜': ['茄子', '苦瓜', '南瓜', '西红柿'], '花卉': ['兰花', '桂花', '荷花'], '水果': ['桃子', '橘子', '芒果'] }
            
            QLabel('分类:', self).move(10, 10)
            self.catalog = QComboBox(self)
            self.catalog.addItem('--请选择--')
            self.catalog.addItem('蔬菜') 
            self.catalog.addItem('花卉')
            self.catalog.addItems(['水果', '多肉植物'])
            self.catalog.setGeometry(10, 40, 100, 30)
            self.catalog.currentIndexChanged.connect(self.catalogChanged)  
            
            QLabel('植物:', self).move(160, 10)
            self.plant =  QComboBox(self)
            self.plant.addItem('--请选择--')
            self.plant.setGeometry(160, 40, 100, 30)
            self.plant.currentTextChanged.connect(self.plantChanged)
            
            #显示选中的信息
            self.info = QLabel(self)
            self.info.setGeometry(10, 200, 300, 30)
            
        def catalogChanged(self):
            cat = self.catalog.currentText()
            self.plant.clear()
            if cat != '--请选择--':
                self.plant.addItems(self.plants[cat]) if cat in self.plants.keys() else ['--请选择--']
            else:
                self.plant.addItem('--请选择--')
        
        def plantChanged(self):
            if self.catalog.currentText() != '--请选择--':
                self.info.setText('分类: ' + self.catalog.currentText() + '  品种: ' + self.plant.currentText())        
          
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = DemoComboBox()
        window.show()
        sys.exit(app.exec())    

    运行结果如下图所示:

    实战PyQt5: 014-下拉列表框控件QComboBox

    测试QComboBox

    本文知识点

    • QComboxBox添加选项的方法;
    • 两QComboxBox的选项联动。

    前一篇: 实战PyQt5: 013-文本编辑控件QTextEdit

    展开全文
  • 基于SSM框架实现一个完整的学生管理系统

    千次阅读 多人点赞 2020-10-09 13:12:22
    这几天用SSM + Redis实现了一个较为完整的学生管理系统,感兴趣的同学可以下载来看看,项目注释写得很多,不失为一个学习的好项目。 Github地址:https://github.com/blizzawang/stu_system 由于项目中使用了Redis...
  • 可以使用以下构造函数创建它-pd.Dataframe(data,index,columns,dtype,copy)可以以不同方式将新列添加到数据。让我们看看其中种方法,通过首先形成系列数据结构并将其作为附加列传递给现有数据,来创建新列。...
  • elementUI进行写的 <el-dialog title="添加" :visible.sync="addlistVisible" width="920px" :before-close="handleClose2"> <div>
  • visual studio 中 ,让数据库中的数据在窗体中显示出来,可以采用让数据在列表框中展示出来,通过Add()方法,将数据库中的数据先保存在字符串中,再通过Spilt()方法进行分割,条数据多行显示。但是有时候数据...
  • 一个每个便签条目的前方可打勾以示完成的安卓系统记事工具
  • 上一张讲解了AbpVnext自带的用户、角色、权限、及用户角色授权对应的后端框架表结构,这章主要讲讲在AbpVnext中如何添加自定义权限条目事项; 二、权限如何使用 using System; using System.Collections.Generic; ...
  • Python的GUI编程(五)Listbox(列表框

    万次阅读 多人点赞 2018-01-16 21:56:12
    Listbox:列表框用于显示项目列表 语法: lb=List(master,option,···) 参数 master:父窗口 option:常用的选项列表,可以有多,用逗号隔开 可以通过for循环Listbox中插入项目列表和索引值...
  •  注意:给每下拉列表框赋值时,需要赋值不同且固定的id,如果在创建jqGrid时,没有给grid定义rowid,则无法使用该方法,修改grid的rowid参照: { name : "kamoku", formatter :inputSelectFormat, //...
  • 14.2 方法 方法 描述 activate(index) 选中index代表的行 bbox 获取选中条目的矩形包围 curselection() 获得当前选中的条目,返回值是一个列表列表中的内容是选中的条目的索引值。 delete(first,last=none) 删除...
  • 组合和复选

    千次阅读 2021-06-10 17:55:37
    组合框和列表框的区别如下:自动排序方式不同: 当列表框不能同时显示所有项目时候,将自动添加滚动条,使用户可以滚动查阅所有选项。组合框的风格取值定义了组合框的具体属性,包括是否自动排序,是否有滚动条。...
  • android的下拉列表框

    千次阅读 2012-12-02 20:03:20
    这次的话就使用这个下拉列表框一个城市和区域联动的小例子,数据的话简单起见就弄成静态的。就不先扯淡了。 1.先来看下下拉列表框的标签 android:id="@+id/city" android:prompt="@string/city_label" an
  • 点住一个项目以选择它。 可以通过额外的点击来选择多个项目。 您可以删除、发送电子邮件或移动待办事项。 单击操作栏菜单中的“摘要”条目以查看您的项目摘要。限制项目不得添加到“存档”列表中。 客户要求添加...
  • pandas DataFrame添加一

    万次阅读 2020-04-12 15:47:38
    为了高效地附加,请参见如何pandas数据框添加额外的行和“ 设置为放大” 。 Add rows through loc/ix on non existing key index data. 通过loc/ix在不存在的键索引数据上添加行。 eg : 例如: In [1]: se = pd....
  • 相关知识点 Multiline:文本框多行输入,设置为True,手动换行是Ctrl+Enter;如果设置WordWrap属性设置为True为自动...D1:”D66”:列表框条目,不可以与List属性同时使用 Initialize:窗体初始化时 AddItem:列表...
  • 官方网站: ... 推荐文章地址: url 1)框架引入: ...然后在moudle中的build.gradle中添加依赖 api '...布局就不添加了,很简单因为项目需求不同,样式也不一样,灵活安排。 欢迎来扰哦。
  • Qt部件2----列表框,组合框

    千次阅读 2015-07-07 14:11:44
    1、选择部件 选择部件使用户能够从预定义的条目菜单中做出选择。包含:列表框和组合框。 1.1 列表框 QListBox用于让用户从中...//创建一个列表框对象 listbox->setGeometry(10,10,150,80);//设置列表框的位置和大小
  • 建议您创建一个 Chief Delphi 线程,然后将您团队的代码添加到此列表中。 贡献清单 想要将自己添加到此列表中吗? 请确保您的提交: 包括团队编号、团队名称和软件语言。 包括关于代码中有趣内容的简短介绍。 包括一...
  • JavaSwing_2.9: JComboBox(下拉列表框

    万次阅读 多人点赞 2017-07-09 00:11:45
    JComboBox,下拉列表框。JComboBox以下列列表的形式展示多个选项,用户可以从下拉列表中选择一个值。
  • Java列表和组合

    千次阅读 2018-08-15 13:43:02
    程序可以在列表框中加入多文本选择项条目。列表事件的事件源有两种: 是鼠标双击某个选项:双击选项是动作事件,与该事件相关的接口是ActionListener,注册监视器的方法是addActionListener(),接口...
  • python - 在pandas.DataFrame中添加一

    千次阅读 2020-12-04 10:30:45
    python - 在pandas.DataFrame中添加一行据我所知,pandas旨在加载完全填充的DataFrame,但我需要创建一个空的DataFrame,然后逐个添加行。做这个的最好方式是什么 ?我成功创建了一个空的DataFrame:res = DataFrame...
  • Excel VBA ListBox列表框添加和删除问题

    万次阅读 2008-04-04 23:30:00
    Excel VBA 窗体中有两个ListBox,需要做的操作:从一个列表框中选择列表值一个列表添加值,以及从已选择的值中删除选择的列表值。 例:ListBox列表 被选框lbData, 选择框lbSelectedData,列表框中显示三列。-...
  • 分享一个Android仿微信选择联系人页面 之前做的App主要是工具类的,而且公司的产品经理也喜欢在App里设计很多自定义控件,所以比一般市场上的App要麻烦一些,今天先介绍一个仿微信选择联系人的页面,涉及的功能较多...
  • 创建一个窗体,使用两个复合制作二级下拉列表,其中一个作为当前打开的所有工作簿的列表,另一个作为所选中的工作簿中所有工作表的列表。 步骤1 按组合键【Alt+F11】打开VBE。 步骤2 选择菜单“插入”→“用户...
  • QListWidget可以显示一个清单,清单中的每个项目是QListWidgetItem的一个实例,每个项目可以通过QListWidgetItem来操作。可以通过QListWidgetItem来设置每个项目的图像与文字。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,484
精华内容 14,593
热门标签
关键字:

向列表框添加一个条目