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()
来获取下拉框当前选中的值。这样,当用户从下拉框中选择一个选项并点击提交按钮时,程序将更新并显示最新的投票结果。