python - 如何在返回列表项的标签中显示函数的结果?

标签 python python-3.x tkinter

我需要编写一个程序,首先从 csv 文件中读取电子邮件地址,然后绘制其中 5 个。我希望它显示在桌面应用程序中。我不知道如何在按下按钮后在标签字段中显示函数结果。

import csv
import random
import tkinter as tk
from tkinter import messagebox
 
with open('test.csv') as csv_plik:
    csv_reader = csv.reader(csv_plik, delimiter=',')
 
    numbers = []
    for row in csv_reader:
        number = row[0]
        numbers.append(number)
 
lenght = len(numbers)
 
def losowanie():
    i = 0
    z = 1
    while i < 5:
        lenght = len(numbers)
        y = lenght
        c = random.randint(0, y - z)
        print(numbers[c])
        numbers.remove(numbers[c])
        i+=1
 
main = tk.Tk()
main.geometry('400x400')
w = tk.Button(main, text = 'Losuj', command = main.destroy)
w.place(x=180, y=180)
 
y = tk.Label(main, text='losowanie')
y.pack()
y.place(x = 180, y = 220)
main.mainloop()

最佳答案

要从列表中获取 5 个随机值,您可以使用

values = random.choices(numbers, k=5)

接下来你必须将列表转换为一个字符串

new_text = ','.join(values)

最后你可以替换标签中的文本

label['text'] = new_text

并且您必须为按钮分配功能

command=losowanie
<小时/>
import csv
import random
import tkinter as tk

# --- functions ---

def losowanie():
    values = random.choices(numbers, k=5)
    new_text = ','.join(values)
    label['text'] = new_text

# --- main ---

with open('test.csv') as csv_plik:
    csv_reader = csv.reader(csv_plik, delimiter=',')

    numbers = []
    for row in csv_reader:
        number = row[0]
        numbers.append(number)


main = tk.Tk()

button = tk.Button(main, text='Losuj', command=losowanie)
button.pack()

label = tk.Label(main, text='losowanie')
label.pack()

main.mainloop()

关于python - 如何在返回列表项的标签中显示函数的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58744164/

相关文章:

python - tkinter 在 MacOS 上始终使窗口保持在顶部

python - 如何在 tkinter 文本小部件中突出显示文本

python - 值错误 : Supply a 'c' kwarg or a 'color' kwarg but not both; they differ but their functionalities overlap

python - 从 matplotlib 分析图形

python - 在python中更新字典

python - 从嵌套列表的字典理解返回字典

python - 使用 Tkinter 将鼠标悬停在文本上时更改文本颜色?

python - 为数据点添加注释

python - 如何获取当前的python解释器路径

python - 在 numpy 数组上使用两个索引数组