![](/img/trans.png)
[英]How can I add a new Entry field with a Button? The Entry field was created by a loop in Python Tkinter
[英]How can I create a random number between two entry field numbers in python tkinter?
好的,這是另一個愚蠢的問題:我有兩個輸入字段,想法是將一個隨機數插入到第三個輸入字段中。 我希望隨機數來自兩個輸入字段的值之間。 例如:我在第一個輸入字段中輸入數字 1,在第二個輸入字段中輸入數字 10。 當我按下按鈕時,我希望它從 1 到 10 之間創建隨機數並將其插入到第三個字段中。 (如果這令人困惑,我很抱歉,我盡力解釋了)這是一些代碼:
import tkinter
from tkinter import Entry, END, E, W
from random import randint, randrange
root = tkinter.Tk()
root.title('Number Generator')
e1 = Entry(root, font=("LEMON MILK Bold", 24), width=10, borderwidth=10)
e1.grid(row=0, column=0, columnspan=3)
e2 = Entry(root, font=("LEMON MILK Bold", 24), width=5, borderwidth=10)
e2.grid(row=1, column=0, columnspan=2, sticky=W)
e3 = Entry(root, font=("LEMON MILK Bold", 24), width=5, borderwidth=10)
e3.grid(row=1, column=1, columnspan=2, sticky=E)
#Definitions
def button_generate():
e1.delete(0, END)
e1.insert(randint(e2.get, e3.get))
def button_clear():
e1.delete(0, END)
#Buttons
button_generate = tkinter.Button(root, text="Random number", font=("LEMON MILK Bold", 28), padx=20,
pady=10, command=button_generate)
button_clear = tkinter.Button(root, text="Erase", font=("LEMON MILK Bold", 14), padx=22, pady=5,
command=button_clear)
button_exit = tkinter.Button(root, text="Exit", font=("LEMON MILK Bold", 14), padx=15, pady=5,
command=root.quit)
#Grid
button_generate.grid(row=2, column=0, columnspan=3)
button_clear.grid(row=3, column=1)
button_exit.grid(row=3, column=2, sticky=E)
root.mainloop()
您的問題與insert
方法有關。 該方法的第一個參數是index
,您應該提供一個。 第二個參數是您要輸入的字符串。 該字符串由randint
方法生成。 此方法要求輸入兩個整數。 您應該從e2
和e3
獲取值並將它們轉換為整數。
button_generate
函數應該是:
def button_generate():
e1.delete(0, END)
e1.insert(0,randint(int(e2.get()), int(e3.get())))
e2.get
是一種方法,你不會在 entry.像 jasonharper 在評論中指出的那樣獲取內容,它應該是e2.get()
。entry.get()
將返回一個字符串而不是一個數字。 要通過random.randint
生成隨機數,您需要將其轉換為數字。entry.insert()
需要一個索引參數,你沒有傳遞它,所以函數應該更改為:def button_generate():
e1.delete(0, END)
e1.insert(END, randint(int(e2.get()), int(e3.get())))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.