Python GUI-计算器下拉菜单

时间:2018-10-15 09:47:05

标签: python python-3.x

我需要创建一个基本的整数计算器程序,该程序使用两个条目,一个组合框,两个标签和一个按钮进行基本计算,如下图所示。组合框应具有加,减和乘的选项,分别显示为“ +”,“-”和“ *”。

布局网格的第0行必须分别在0到2列中包含一个条目,组合框和另一个条目。在某处还必须有一个标签来显示结果值,可以选择在其前面加上等号,如下图所示。该按钮必须包含文本“计算”。您可以假设仅将整数输入到条目中。

Counter GUI的布局如图here

所示

我创建按钮计算器没有问题。我的问题是如何获取图片中所示的有效GUI。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

花费了一些努力,但是这里:

from tkinter import *
from tkinter.ttk import *

def left_side():
    """Left """
    global left_entry, right_entry, answer_label, integer_combo
    left_entry.get()

def right_side():
    """Right"""
    global left_entry, right_entry, answer_label, integer_combo
    right_entry.get()

def combo_calc():
    """Combobox basic Calculator"""
    global left_entry, right_entry, answer_label, integer_combo

    if integer_combo.get() == "+":
        answer_label['text'] = str(int(left_entry.get()) + int(right_entry.get()))
    elif integer_combo.get() == "-":
        answer_label['text'] = str(int(left_entry.get()) - int(right_entry.get()))
    elif integer_combo.get() == "*":
        answer_label['text'] = str(int(left_entry.get()) * int(right_entry.get()))

def main():
    """Runs the main GUI"""
    global left_entry, right_entry, answer_label, integer_combo

    window = Tk()
    integer_options = ["+", "-", "*"]
    integer_combo = Combobox(window,
                             values=integer_options)
    integer_combo.set("+")
    integer_combo.grid(row=0, column=1)
    left_entry = Entry(window)
    left_entry.grid(row=0, column=0)
    right_entry = Entry(window)
    right_entry.grid(row=0, column=2)
    calc_button = Button(window, text='Calculate', command=combo_calc)
    calc_button.grid(row=1, column=1)
    equals_label = Label(window, text="=")
    equals_label.grid(row=0,column=3)
    answer_label = Label(window)
    answer_label.grid(row=0, column= 4)

    window.mainloop()
main()