精华内容
下载资源
问答
  • 2021-03-18 01:09:45

    我用Tkinter制作音乐排序程序。我把我的数据整理成了一本字典,其中的关键是艺术家,价值观是歌曲。我也已经成功地创建了一个列表框,艺术家作为不同的选择。

    我无法理解的部分是如何使从艺术家列表框中选择的内容打开一个新的列表框,其中包含所有相关歌曲(字典中的相关值)。

    这就是我迄今为止的情况:file = open("songs.txt")

    music = createdict(file)

    keys = sorted(music.keys())

    values = music.values()

    #Artist Option Listbox with Scrollbar

    root = tk.Tk()

    root.title("Artist Options")

    scrollbar = Scrollbar(root, bg = "grey")

    scrollbar.pack(side = RIGHT, fill = Y)

    def cureselet(evt):

    Lb1.see(ACTIVE)

    item = Lb1.get(Lb1.curselection())

    return item

    Lb1 = Listbox(root, selectmode = SINGLE, font = ('times', 13), width = 50, height = 15, bd = 4, selectbackground = "yellow", bg = "grey")

    Lb1.bind(curselet)

    c = 0

    for i in keys:

    Lb1.insert(END,keys[c])

    c+=1

    Lb1.pack()

    Lb1.config(yscrollcommand = scrollbar.set)

    scrollbar.config(command = Lb1.yview)

    Lb2 = Listbox(Lb1, selectmode = SINGLE, font = ('times', 13), width = 50, height = 15, bd = 4, selectbackground = "yellow", bg = "grey")

    更多相关内容
  • PyQt5下拉列表框控件QComboBox介绍QComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框QComboBox类中的常用方法如表方法描述addItem()添加一个下拉选项addItems()从列表中添加下拉选项Clear()删除下拉...

    PyQt5下拉列表框控件QComboBox介绍

    QComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框

    QComboBox类中的常用方法如表

    方法

    描述

    addItem()

    添加一个下拉选项

    addItems()

    从列表中添加下拉选项

    Clear()

    删除下拉选项集合中的所有选项

    count()

    返回下拉选项集合中的数目

    currentText()

    返回选中选项的文本

    itemText(i)

    获取索引为i的item的选项文本

    currentIndex()

    返回选中项的索引

    setItemText(int index,text)

    改变序列号为index的文本

    QComboBox类中的常用信号

    信号

    含义

    Activated

    当用户选中一个下拉选项时发射该信号

    currentIndexChanged

    当下拉选项的索引发生改变时发射该信号

    highlighted

    当选中一个已经选中的下拉选项时,发射该信号

    下拉列表框控件QComboBox按钮的使用实例

    import sys

    from PyQt5.QtCore import *

    from PyQt5.QtWidgets import *

    from PyQt5.QtCore import *

    class ComboxDemo(QWidget):

    def __init__(self,parent=None):

    super(ComboxDemo, self).__init__(parent)

    #设置标题

    self.setWindowTitle('ComBox例子')

    #设置初始界面大小

    self.resize(300,90)

    #垂直布局

    layout=QVBoxLayout()

    #创建标签,默认空白

    self.btn1=QLabel('')

    #实例化QComBox对象

    self.cb=QComboBox()

    #单个添加条目

    self.cb.addItem('C')

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

    self.cb.addItem('Python')

    #多个添加条目

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

    #当下拉索引发生改变时发射信号触发绑定的事件

    self.cb.currentIndexChanged.connect(self.selectionchange)

    #控件添加到布局中,设置布局

    layout.addWidget(self.cb)

    layout.addWidget(self.btn1)

    self.setLayout(layout)

    def selectionchange(self,i):

    #标签用来显示选中的文本

    #currentText():返回选中选项的文本

    self.btn1.setText(self.cb.currentText())

    print('Items in the list are:')

    #输出选项集合中每个选项的索引与对应的内容

    #count():返回选项集合中的数目

    for count in range(self.cb.count()):

    print('Item'+str(count)+'='+self.cb.itemText(count))

    print('current index',i,'selection changed',self.cb.currentText())

    if __name__ == '__main__':

    app=QApplication(sys.argv)

    comboxDemo=ComboxDemo()

    comboxDemo.show()

    sys.exit(app.exec_())

    效果图如下

    36cb15c2405fbf54fcad53bf0bc7dddb.png

    下拉列表框控件QComboBox代码分析:

    在这个例子中显示了一个下拉列表框和一个标签,其中下拉列表框中有几个选项,既可以使用QCombobox的addItem()方法添加单个选项,也可以使用addItems()方法添加多个选项:标签显示的是从下拉列表框中选择的选项

    #单个添加条目

    self.cb.addItem('C')

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

    self.cb.addItem('Python')

    #多个添加条目

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

    当下拉列表框选中的选项发生改变时将发射currentIndexChanged信号,链接到自定义的槽函数selectionChange()

    self.cb.currentIndexChanged.connect(self.selectionchange)

    在方法中,当选中下拉列表框中的一个选项时,将把该选项文本设置为标签的文本,并调整标签的大小

    def selectionchange(self,i):

    #标签用来显示选中的文本

    #currentText():返回选中选项的文本

    self.btn1.setText(self.cb.currentText())

    本文详细介绍了PyQt5下拉列表框控件QComboBox详细使用方法与实例,更多关于PyQt5下拉列表框控件QComboBox的知识请查看下面的相关链接

    展开全文
  • 第6讲,Listbox 列表框控件在与用户交互的过程成中,如果需要用户自己做出选择,可以使用列表框控件,下面的程序,我将创建一个应用,界面入下图所示整个界面分为3部分红色区域,列表框控件,展示给用户4个选项蓝色...

    第6讲,Listbox 列表框控件

    在与用户交互的过程成中,如果需要用户自己做出选择,可以使用列表框控件,下面的程序,我将创建一个应用,界面入下图所示

    整个界面分为3部分

    红色区域,列表框控件,展示给用户4个选项

    蓝色区域,显示所选按钮,点击该按钮,在绿色区域显示所选的选线

    绿色区域,显示用户选择的列表框选项

    程序如下

    import tkinter as tk

    window = tk.Tk()

    window.title('列表框') # 设置窗口的标题

    window.geometry('200x240') # 设置窗口的大小

    list_itmes = tk.StringVar()

    list_itmes.set(('python', 'c++', 'java', 'php')) # 设置可选项

    # 创建列表框

    lb = tk.Listbox(window, listvariable=list_itmes)

    lb.pack()

    no_select = '没有选中任何选项'

    def click_button():

    """

    当按钮被点击时执行该函数

    :return:

    """

    select = lb.curselection()

    print(len(select))

    if len(select) == 0:

    label_text.set(no_select)

    else:

    text = lb.get(select)

    label_text.set('你选择了{text}'.format(text=text))

    # 创建button

    button = tk.Button(window,

    text='显示所选', # 显示在按钮上的文字

    width=15, height=2,

    command=click_button) # 点击按钮时执行的函数

    button.pack() # 将按钮锁定在窗口上

    # 创建label用于显示所选择的列表框选项

    label_text = tk.StringVar() #创建变量

    label_text.set(no_select)

    label = tk.Label(window,

    width=15, height=2, # 标签长宽

    textvariable=label_text # label控件将显示label_text的值

    )

    label.pack() # 将标签固定在窗口上

    window.mainloop() # 启动窗口

    代码很多,需要逐个部分进行讲解

    1. 列表框初始化

    list_itmes = tk.StringVar()

    list_itmes.set(('python', 'c++', 'java', 'php')) # 设置可选项

    # 创建列表框

    lb = tk.Listbox(window, listvariable=list_itmes)

    lb.pack()

    在创建列表框时,设置listvariable参数,list_itmes变量里存储的是列表框里的可选项

    2. 获取列表框里别选中的内容

    def click_button():

    """

    当按钮被点击时执行该函数

    :return:

    """

    select = lb.curselection()

    print(len(select))

    if len(select) == 0:

    label_text.set(no_select)

    else:

    text = lb.get(select)

    label_text.set('你选择了{text}'.format(text=text))

    curselection()方法获取被选中的可选项的索引,以元组的形式返回,这里我先判断选中的内容是否为空,如果有选项被选中,则使用get方法获取选中的内容

    3. 让label标签动态变化

    label_text = tk.StringVar() #创建变量

    label_text.set(no_select)

    label = tk.Label(window,

    width=15, height=2, # 标签长宽

    textvariable=label_text # label控件将显示label_text的值

    )

    想要让label标签控件的文字内容动态变化,需要设置textvariable 参数,这里已经第二次用到tk.StringVar()创建对象,将textvariable设置为label_text,那么此后,你对label_text的值的修改,都将直接影响到标签上的文字显示。

    展开全文
  • tkinter-GUI简单化编程之列表显示框控件python tkinter GUI简单化编程之文章目录(点击可传送)一、自我介绍、封装及使用方法二、封装列表显示框控件三、封装库的使用四、总结1、 2021.03.19已更新列表框控件添加...


    创作不易,请多包涵支持,谢谢!


    python tkinter GUI简单化编程之文章目录(点击可传送)

    python tkinter GUI简单化编程之文章目录


    一、自我介绍、封装及使用方法

    本系列文章将先以封装python的tkinter库为目标进行讲解,后续将会再封装其他python的GUI库。具体可从第一章开始浏览,后续不再阐述。


    二、封装列表显示框控件

    在第一章python-GUI简单化编程之基础窗口中我们已经import载入封装的tkinter以及要用的的其他库,并添加了封装基础窗口封装顶层窗口数据组合框控件调整数据组合框控件按钮组合框控件的代码。现在,我们在PythonGui.pyw再添加以下代码封装列表显示框控件,此控件目前有一种类型,将来会更新更多类型的按钮控件。接下来将会讲解使用方法,注意不要删除以前的代码。

    def V_1创建列表显示框控件(放置属性,列表框属性,选中后传递变量):
        '''
        函数说明:\n\n
        放置属性为一个列表,元素的意义分别为: 0.放置的窗口 1.放置于窗口的行 2.放置于窗口的列\n\n
        列表框属性为一个列表,元素的意义分别为: 0.列表框宽度 1.列表框高度 2.背景颜色\n\n
        选中后传递变量为一个数据组合框控件,用于显示选中的元素     \n\n
        '''
        放置窗体 = 放置属性[0]
        放置位置 = 放置属性[1:]
        列表框宽度 = 列表框属性[0]
        列表框高度 = 列表框属性[1]
        背景颜色 = 列表框属性[2]
        子窗口 = tk.Frame(放置窗体,height = 50,width = 200 )
        子窗口.grid(row = 放置位置[0],column = 放置位置[1],padx = 2,pady= 2)
        滚动条 = tk.Scrollbar(子窗口)
        滚动条.pack(side = tk.RIGHT,fill = tk.Y)
        列表框 = tk.Listbox(子窗口,width = 列表框宽度,height = 列表框高度,bg = 背景颜色,justify = tk.CENTER)
        列表框.pack(side = tk.LEFT,fill = tk.BOTH,expand = True)
        滚动条.config(command = 列表框.yview)
        def 选中操作(event):
            try:
                事件 = event.widget
                序号 = 事件.curselection()
                选中后传递变量.set(事件.get(序号))
            except:
                pass
        列表框.bind('<<ListboxSelect>>',选中操作)
        return 列表框
    

    三、封装库的使用

    在test.pyw中添加以下代码准备测试:

    import PythonGui as GUI
    
    主窗体 = GUI.A_建立根页面(['测试软件',400,210,'Beige'],'')
    选中的终端 = GUI.S_创建数据组合框控件([主窗体,0,0],['选中的终端',False,False,25,12,'Beige'],['string','',False,''])
    列表显示框 = GUI.V_1创建列表显示框控件([主窗体,1,0],[50,6,'white'],选中的终端)
    终端名称 = ['1','2','3','4','5','6']
    for i in 终端名称:
        列表显示框.insert(GUI.尾行,i)
    主窗体.mainloop()
    

    V_1创建列表显示框控件()函数中有三个形参:0.放置属性 1.列表框属性 2.选中后传递变量
    (1)放置属性为一个列表,元素的意义分别为: 0.放置的窗口 1.放置于窗口的行 2.放置于窗口的列
    (2)列表框属性属性为一个列表,元素的意义分别为:0.列表框宽度 1.列表框高度 2.背景颜色。
    (3)选中后传递变量,其实就是将选中的元素传递给谁,这里建议使用数据组合框控件

    运行上述代码,可在主窗口上生成一个列表显示框控件和一个数据组合框控件,列表显示框控件放置在主窗体的第0行第0列,宽度为50,高度为6,背景颜色为'white',将选中的元素传递给选中的终端。点击列表框内的数字,会发现选中的数字将出现在数据组合框控件中。
    在这里插入图片描述
    在这里插入图片描述


    四、总结

    若有建议之处,麻烦在评论区指出,共同进步,谢谢。ps:平常加班较多,我会抽空余时间更新后面章节。

    1、 2021.03.19已更新列表框控件添加滚动条

    2、更新进阶版列表显示框控件

    该在控件内的元素上双击左键可弹出修改窗口以便修改选中元素的值,在控件内的任意位置双击右键,可弹出添加窗口,以便向列表显示框中添加新的元素值。首次运行该程序的画面如下:
    在这里插入图片描述
    在列表显示框控件内双击右键弹出添加窗口,注意:当列表显示框控件为空时,无论双击左键还是右键,都强制弹出添加窗口。在输入框内输入34,并按确定按钮,将会把34添加至列表显示框控件内:
    在这里插入图片描述
    在这里插入图片描述
    选中34并双击左键,将弹出修改窗口,在输入框内输入1212,并确定后元素的值将从34改为1212;
    在这里插入图片描述
    在这里插入图片描述
    在1212上继续双击左键,点击删除,1212将从列表显示框控件内移除:

    在这里插入图片描述
    目的地:第8章 python-tkinter-GUI简单化编程之进阶版列表显示框控件(创作不易,请多包涵支持)

    展开全文
  • python GUI库库图图形形界界面面开开发发之之PyQt5下下拉拉列列表表框框控控件件QComboBox详详细细使使用用方方法法与与实实例例 这篇文章主要介绍了python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细...
  • C# ListBox:列表框控件

    2020-12-05 11:29:33
    列表框控件中有一些属性与前面介绍的控件不同,如下表所示。属性名作用MultiColumn获取或设置列表框是否支持多列,如果设置为 True,则表示支持多列; 如果设置为 False,则表示不支持多列,默认为 FalseIte...
  • PyQt5下拉列表框控件QComboBox介绍QComboBox是一个集按钮和下拉选项于一体的控件,也称做下拉列表框QComboBox类中的常用方法如表方法描述addItem()添加一个下拉选项addItems()从列表中添加下拉选项Clear()删除下拉...
  • 废话不多说,看代码吧!... show_data_2) win.mainloop() 以上这篇Python 窗体(tkinter)下拉列表框(Combobox)实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。
  • MFC实例:[5] ListBox 列表框控件实例

    千次阅读 2019-04-01 17:39:52
    MFC实例:[4] ListBox 列表框控件实例
  • 主要介绍了python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例,需要的朋友可以参考下
  • import tkinterwin = tkinter.Tk()win.title("Listbox列表框(添加滚动条)")#win.geometry("800x600+600+100")#tkinter.EXTENDED 可以使listbox支持shift和ctrl功能lb=tkinter.Listbox(win,selectmode=tkinter....
  • python常用控件

    2020-11-27 18:46:58
    Button按钮控件;在程序中显示按钮。Canvas画布控件;显示图形元素如线条或文本Checkbutton多选...可以显示文本和位图Listbox列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户Menubutton菜单按钮控件...
  • PyQT5控件:下拉列表框(QComboBox)

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

    2020-11-23 20:24:24
    pyqt5表格控件qtableview简介在通常情况下,一个应用需要和一批数据进行交互,然后以表格的形式输出这些信息,这时就需要用到qtableview类了,在qtableview中可以使用自定义的数据模型来显示内容,通过setmodel来...
  • Spinbox 本质上也相当于持有一个列表框,这一点类似于 Combobox,但 Spinbox 不会展开下拉列表供用户选择。Spinbox 只能通过向上、向下箭头来选择不同的选项。在使用 Spinbox 组件时,既可通过 from(由于 from 是...
  • python-tkinter-GUI简单化编程之调整数据组合框控件python tkinter GUI简单化编程之文章目录(点击可传送)一、自我介绍、封装及使用方法二、封装调整数据组合框控件三、封装库的使用四、总结 创作不易,请多包涵...
  • importtkinterwin=tkinter.Tk()win.title('第一个窗口')win.geometry()'''Listbox列表框控件:可以包含一个或者多个文本框作业:在listbox控件的小窗口显示一个字符串'''#一:【支持鼠标移动选中位置】使用...
  • 用来显示文字或图片 7.Listbox 列表框。一个选项列表,用户可以从中选择 8.Menu 菜单。点下菜单按钮后弹出的一个选项列表,用户可以从中选择 9.Menubutton 菜单按钮。用来包含菜单的组件(有下拉式、层叠式等等) 10....
  • 通过示例图可以看到,日期控件是无法输入日期,点击后弹出日期列表供我们选择日期,自己找了一个日期控制演示一下,通过两次定位,选择了日期#-*- coding:utf-8 -*-import timefrom selenium import web...
  • Python tkinter自定义多选下拉列表框(带滚动条、全选)
  • Python之tkinter 列表框Listbox与滚动条Scrollbar

    千次阅读 多人点赞 2020-03-25 10:48:13
    文章目录建立列表框 建立列表框   列表框(Listbox)是一个显示一系列选项的Widget控件,用户可以进行单项或多项的选择 使用格式如下: Listbox(父对象, options, ...) ...
  • Python 中基本控件的用法

    千次阅读 2018-01-05 22:01:06
    中基本控件的用法   一 标签Label from tkinter import * root = Tk() root.minsize(300, 200) text = ” I want to study PYTHON” label = Label(root, text = text, fg = “black”, bg=”red”) label.pack...
  • Python的GUI编程(五)Listbox(列表框

    万次阅读 多人点赞 2018-01-16 21:56:12
    Listbox:列表框用于显示项目列表 语法: lb=List(master,option,···) 参数 master:父窗口 option:常用的选项列表,可以有多个,用逗号隔开 可以通过for循环向Listbox中插入项目列表和索引值...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,862
精华内容 5,944
关键字:

python列表框控件