Python 如何使滚动条在选项卡内的tkinter框架中的多次输入(带条件)期间工作?

Python 如何使滚动条在选项卡内的tkinter框架中的多次输入(带条件)期间工作?,python,tkinter,scrollbar,frame,tkinter-entry,Python,Tkinter,Scrollbar,Frame,Tkinter Entry,我试图在框架中创建一个滚动条,根据出现的项目数量,在这里会有多个条目行。我的问题是 1.)我的带有滚动条的框架Nofy_frame1不工作(提到注释#not working部分),其位置太靠近条目,我没有得到任何错误响应。如何解决? 2.)如何在移动方法1和方法2的单选按钮时停止/重新启动循环?由于每次点击方法2的添加条目按钮,结果将是: Price 1 : Price 2 : Price 3 : Price 4 : Price 5 : 然后下一步单击我得到的相同的添加条目按钮 Price 6

我试图在框架中创建一个滚动条,根据出现的项目数量,在这里会有多个条目行。我的问题是 1.)我的带有滚动条的框架
Nofy_frame1
不工作(提到注释
#not working
部分),其位置太靠近条目,我没有得到任何错误响应。如何解决? 2.)如何在移动
方法1
方法2
的单选按钮时停止/重新启动循环?由于每次点击
方法2
添加条目
按钮,结果将是:

Price 1 :
Price 2 :
Price 3 :
Price 4 :
Price 5 :
然后下一步单击我得到的相同的
添加条目
按钮

Price 6 :
Price 7 :
Price 8 :
Price 9 :
Price 10 :  
而不是上述结果 如何解决

我已经写了下面的公平代码,请让我知道并澄清我的错误

import tkinter as tk
from tkinter import ttk
from tkinter import filedialog
from tkcalendar import Calendar,DateEntry
from tkinter import messagebox
from tkinter.scrolledtext import ScrolledText
import os
from tkinter import *
import numpy as ny

master0 = tk.Tk()

master0.config(background = "white") 
master0.title("Shop Cashier")
master0.geometry("1000x600")
master0.colour_schemes = [{"bg": "#eef1f5", "fg": "black"}, {"bg": "blue", "fg": "white"}]
tabs = ttk.Notebook(master0) 

C_1 = 'black'
C_2 = 'white'

TStyler = ttk.Style()
TStyler.configure("TFrame", background=C_2, foreground=C_1, borderwidth=0)

tab1 = ttk.Frame(tabs, style = "TFrame") 
tab2 = ttk.Frame(tabs, style = "TFrame")
tab3 = ttk.Frame(tabs, style = "TFrame")
C1 = Canvas(tab1, borderwidth=1, background="white")
C2 = Canvas(tab2, borderwidth=1, background="white")
C2 = Canvas(tab3, borderwidth=1, background="white")



tabs.add(tab1, text ='1')
tabs.add(tab2, text ='2') 
tabs.add(tab3, text ='3') 

tabs.pack(expand = 1, fill ="both") 
#-TAB1
quit_button = tk.Button(tab1, text="Finish", fg="White", bg = "#53c653",padx=10, pady=3,command=master0.destroy)
quit_button.place(x = 450, y= 430)

#-TAB2

InitialInv_r = tk.DoubleVar()
CF_result = tk.DoubleVar()
P_r = tk.DoubleVar()
iiit_r = tk.IntVar()
 
alent = []
FCI_list = []
VCI_list = []



def addEntry():
    if CF_result.get() == 2:
        Nofy_frame = Frame(tab2, width = 10, height = 200, bd = 0, background = "#fff080")
        Nofy_frame.place(x = 50, y= 150)
        Nofy_frame1 = Frame(tab2, width = 270, height = 400, bd = 0, background = "#fff080")
        Nofy_frame1.place(x = 50, y= 150)
        #============================================================NOT WORKING 
        Nofy_frame1.pack_propagate(0)  # stops frame from shrinking
        scroll = Scrollbar(Nofy_frame1)
        scroll.pack(side = RIGHT, fill = Y)
        #============================================================NOT WORKING
        for number in range(iiit_r.get()):
            number = len(alent)
            #label
            ylab = Label(Nofy_frame1, text="Price "+str(number+1)+" :",bg = "#fff080")
            ylab.grid(row=number+1, column=0, padx=10, pady=10)
            #Entry
            ent = Entry(Nofy_frame1, font=('calibri', 11), width = 33)
            ent.grid(row=number+1, column=2,padx=10, pady=20)
            alent.append( ent )
    elif CF_result.get() == 0:
        Nofy_frame = Frame(tab2, width = 328, height = 400, bd = 0, background = "#fff080")
        Nofy_frame.place(x = 50, y= 150)
        Nofy_frame2 = Frame(tab2, width = 270, height = 400, bd = 0, background = "#fff080")
        Nofy_frame2.place(x = 50, y= 150)
        ylab1 = Label(Nofy_frame2, text="Fixed Price :",bg = "#fff080" )
        ylab1.grid(row=1, column=0, padx=2, pady=10)
        #Entry
        ent = Entry(Nofy_frame2, font=('calibri', 11), width = 30)
        ent.grid(row=1, column=2,padx=10, pady=20)
        alent.append( ent )
            
            
Disct = Label(tab2, text = '      Percentage', bg = "white",padx=3, pady=1,font = ("calibri", 12)) 
Disct.place(x=400, y=50)
Disctp = Label(tab2, text = '%', bg = "white",padx=3, pady=1,font = ("calibri", 12)) 
Disctp.place(x=642, y=50)
#Disct_frame = Frame(tab2, width = 200, height = 25, bd = 0, background = "white", highlightcolor = "black", highlightthickness = 1)
#Disct_frame.place(x = 530, y= 50)
Disctv = Entry(tab2,font=('calibri', 12), textvariable= P_r,width = 10, bd=1, bg='#fffce6', justify='left')
Disctv.place(x=560, y=50)

Nofy = Label(tab2, text = 'No. of items :', bg = "white",padx=3, pady=1,font = ("calibri", 12)) 
Nofy.place(x=700, y=50)
Nofy_frame = Frame(tab2, width = 328, height = 400, bd = 0, background = "#fff080", highlightcolor = "#fff080", highlightthickness = 1)
Nofy_frame.place(x = 50, y= 150)
Nofyv = Entry(tab2,font=('calibri', 12), textvariable= iiit_r, width = 5, bd=1, bg='#fffce6', justify='left')
Nofyv.place(x=800, y=50)

CashFlow = Label(tab2, text = 'Method', bg = "white",padx=3, pady=1,font = ("calibri light", 18)) 
CashFlow.place(x=50, y=100)

FCF_r = Radiobutton(tab2, variable = CF_result, value = 0, bg = "white")
FCF_r.place(x=180, y=110)
FCF_rr = Label(tab2, text = "method 1", bg = "white",padx=3, pady=1,font = ("calibri light", 12))
FCF_rr.place(x=200, y=108)

vCF_r = Radiobutton(tab2, variable = CF_result, value = 2,bg = "white")
vCF_r.place(x=380, y=110)
vCF_rr = Label(tab2, text = "method 2", bg = "white",padx=3, pady=1,font = ("calibri light", 12))
vCF_rr.place(x=400, y=108)


addEnt = Button(tab2, text='Add entry', fg="White", bg = "#1a1700", command=addEntry)
addEnt.place(x = 400, y= 150)


quit_button = tk.Button(tab2, text="Finish", fg="White", bg = "#53c653",padx=10, pady=3,command=master0.destroy)
quit_button.place(x = 900, y= 530)


master0.mainloop()

请一次只问一个问题。当然,我会解释的。如何重新启动函数的循环?我很抱歉@我将编辑这个问题