【问题标题】:Python Tkinter: Buttons for every row in a .csv?Python Tkinter:.csv 中每一行的按钮?
【发布时间】:2018-07-09 07:36:15
【问题描述】:

尽我最大的努力学习 Tkinter,但每一步都惨遭失败。

我正在尝试编写一个 GUI,它可以根据我的脚本导入的 .csv 文件中的行条目创建一个下拉列表,或者一个按钮网格。

事情是,这两次尝试都失败了,因为我是新手。

任何人都可以将我链接到资源/给我实现我想要的步骤吗?

【问题讨论】:

    标签: python database user-interface tkinter


    【解决方案1】:

    这里是解决方案。下次请粘贴您编写的一些代码,以便我们知道您具体尝试了什么。

    import tkinter as tk
    
    dataMatrix = [] #this will be 2d list containing csv table elements as strings
    with open("filename.csv") as file:
        for row in file:
            dataMatrix.append(row[:-1].split(";")) 
    
    mainWindow = tk.Tk()
    
    ######## EITHER THIS
    optionMenus = []
    strVars = []
    for i in range(len(dataMatrix)):
        strVars.append(tk.StringVar(mainWindow, dataMatrix[i][0]))
        #variable containing currently selected value in i-th row, initialised to first element
        optionMenus.append(tk.OptionMenu(mainWindow, strVars[-1], *dataMatrix[i])) #drop-down list for i-th row
        optionMenus[-1].grid(row = 0, column = i) #placing i-th OptionMenu in window
    ######## OR THIS
    for r in range(len(dataMatrix)):
        for c in range(len(dataMatrix[r])):
            b = tk.Button(mainWindow, text = dataMatrix[r][c], width = 10)
            #creating button of width 10 characters
            b.grid(row = r, column = c)
    

    OptionMenu Control Variables

    一般infohost.nmt.edueffbot.org是学习tkinter的最佳资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多