Мне нужна помощь для ввода цифр в калькулятор слева направо? - PullRequest
0 голосов
/ 20 сентября 2019

Я сделал калькулятор в tkinter python.Когда я хочу ввести 21, он набирает 12 из-за способа ввода цифр в поле ввода.Я хочу исправить это.

Я пробовал использовать tag-right, но он не работает для метки входа.

"" "Создано четверг, 19 сентября 17:49:21 2019

@ author: Ishita "" "x = 0

def add_one():
    if(x == 0):
        entry1.insert(0, "1")
    elif(x == 1):
        entry2.insert(0, "1")

.
.
.
.
def next_num():
    global x
    x = 1

def add_num():
    result["text"] = ""
    num1 = entry1.get()
    num2 = entry2.get()
    output = int(num1) + int(num2)
    result["text"] = str(output)
.
.
.
.
def clear_nums():
    entry1.delete(0, "end")
    entry2.delete(0, "end")
    result["text"] = ""
    global x
    x = 0

import tkinter as tk
from tkinter import *

calc = tk.Tk()
calc.title("Basic Calculator")
calc.geometry("300x600")
calc.config(background="white")

mainframe1 = tk.Frame(calc)
mainframe1.pack()

entry1 = tk.Entry(mainframe1, width=3, background="white", font="Times 20")
entry1.insert("end", " ")
entry1.configure(justify="right")
entry2 = tk.Entry(mainframe1, width=3, background="white", font="TImes 20")
entry2.insert("end", " ")
entry2.configure(justify="right")
result = tk.Label(mainframe1, width=3, font="Times 20")


button1 = tk.Button(mainframe1, height=2, width=4, background="white", text="1", font="Times 20", command=add_one)

calc.mainloop()

При вводе 1 и 2 поле ввода должно давать 12, но оно дает 21. Числовые записи происходят с числами наприложение (не с клавиатурой).

1 Ответ

0 голосов
/ 20 сентября 2019

Если вы хотите вставить значения в конце записи, вам нужно указать «конец» (или константу END из tkinter) вместо нуля:

def add_one():
    if(x == 0):
        entry1.insert("end", "1")
    elif(x == 1):
        entry2.insert("end", "1")
...