tkinter

当然,这里是一个修正后的Python编码答案,用于实现上述编程题的要求:

import tkinter as tk
from tkinter import ttk

# 初始投票结果
vote_counts = {"Python": 0, "Java": 0, "C++": 0, "JavaScript": 0}

def update_vote(language):
    # 更新投票结果
    vote_counts[language] += 1
    update_vote_display()

def update_vote_display():
    # 显示更新后的投票结果
    result_text = "投票结果:\n"
    for lang, count in vote_counts.items():
        result_text += f"{lang}: {count}票\n"
    vote_result_label.config(text=result_text)

# 创建主窗口
root = tk.Tk()
root.title("编程语言投票")

# 创建下拉框
vote_var = tk.StringVar()
vote_options = ["Python", "Java", "C++", "JavaScript"]
combo_box = ttk.Combobox(root, values=vote_options, textvariable=vote_var)
combo_box.pack()

# 创建投票结果标签
vote_result_label = tk.Label(root, text="投票结果:\n(等待用户投票)")
vote_result_label.pack()

# 创建提交按钮
submit_button = tk.Button(root, text="提交投票", command=lambda: update_vote(vote_var.get()))
submit_button.pack()

# 运行GUI程序
root.mainloop()

在这个修正后的代码中,我们定义了update_vote函数,它接受用户选择的编程语言作为参数,并更新相应的投票计数。然后,我们调用update_vote_display函数来更新GUI上的投票结果显示。

此外,我们还修正了函数名update_vote的语法错误,并使用了vote_var.get()来获取下拉框当前选中的值。这样,当用户从下拉框中选择一个选项并点击提交按钮时,程序将更新并显示最新的投票结果。

posted @ 2024-04-07 16:27  freedragon  阅读(5)  评论(0编辑  收藏  举报