第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在 tkinter 中添加第二行?

如何在 tkinter 中添加第二行?

Helenr 2023-08-08 17:21:28
我需要使用計(jì)算函數(shù)將第二行添加到與第一行相同的位置。這段代碼該怎么做import tkinter as tkroot = tk.Tk()root.geometry('850x450')var1 = tk.StringVar()t1 = tk.Entry(root, textvariable=var1).grid(row=1,column=1)var2 = tk.StringVar()t2 = tk.Entry(root, textvariable=var2).grid(row=1,column=2)result = tk.StringVar()l = tk.Label(root, textvariable=result).grid(row=1,column=3)N = 3 # number of decimals that you wantdef set_label(name, index, mode):    if var1.get() == '' or var2.get() == '':        pass    else:        res = float(var1.get()) * float(var2.get())        result.set('{number:.{digits}f}'.format(number=res, digits=N))var1.trace('w', set_label)var2.trace('w', set_label)root.mainloop()提前致謝...
查看完整描述

2 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果要?jiǎng)?chuàng)建多行小部件,可以創(chuàng)建一個(gè)數(shù)組來(lái)存儲(chǔ)小部件引用,并使用循環(huán)在網(wǎng)格中創(chuàng)建小部件。


import tkinter as tk


root = tk.Tk()

root.geometry('850x450')


lstentry = []  # all entries

lstlabel = []  # all labels


for ctr in range(5):   # 5 rows

    var1 = tk.StringVar()

    t1 = tk.Entry(root, textvariable=var1).grid(row=ctr+1,column=1)

    var2 = tk.StringVar()

    t2 = tk.Entry(root, textvariable=var2).grid(row=ctr+1,column=2)

    result = tk.StringVar()

    result.set('label ' +str(ctr+1))

    l = tk.Label(root, textvariable=result).grid(row=ctr+1,column=3)

    lstentry.append(var1)

    lstentry.append(var2)

    lstlabel.append(l)


N = 3 # number of decimals that you want

def set_label(name, index, mode):

    if var1.get() == '' or var2.get() == '':

        pass

    else:

        res = float(var1.get()) * float(var2.get())

        result.set('{number:.{digits}f}'.format(number=res, digits=N))


var1.trace('w', set_label)

var2.trace('w', set_label)


root.mainloop()

輸出

https://img1.sycdn.imooc.com//64d2093b000192b803130160.jpg

查看完整回答
反對(duì) 回復(fù) 2023-08-08
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊

將行創(chuàng)建邏輯與功能分開(kāi)add_row(row_number):


import tkinter as tk


root = tk.Tk()

root.geometry('850x450')


def add_row(row_number):

    var1 = tk.StringVar()

    t1 = tk.Entry(root, textvariable=var1).grid(row=row_number,column=1)

    var2 = tk.StringVar()

    t2 = tk.Entry(root, textvariable=var2).grid(row=row_number,column=2)

    result = tk.StringVar()

    l = tk.Label(root, textvariable=result).grid(row=row_number,column=3)


    N = 3 # number of decimals that you want

    def set_label(name, index, mode):

        if var1.get() == '' or var2.get() == '':

            pass

        else:

            res = float(var1.get()) * float(var2.get())

            result.set('{number:.{digits}f}'.format(number=res, digits=N))


    var1.trace('w', set_label)

    var2.trace('w', set_label)


NUMBER_OF_ROWS = 10

for row_number in range(1, NUMBER_OF_ROWS+1):

    add_row(row_number)


root.mainloop()


查看完整回答
反對(duì) 回復(fù) 2023-08-08
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)