简体   繁体   中英

Why is my tkinter scrollbar not working as intended? i hv removed the command line for the scrollbar

no error shown, i just removed the scrollbar command previously added as it wasnt working. i hope someone will be able to advise how to do this as i had gone thru multiple tutorials even those advises in stack overflow. i need to be able to scroll thru the entire window, below is the full code as requested.

    import tkinter as tk
    from tkinter import *
    import time;
    import datetime
    from tkinter import ttk
    from PIL import ImageTk, Image
    import os
    
    root = Tk()
    root.title("Fibroscan Report")
    root.geometry("1000x1200")
    root.iconbitmap('d:/python_file/python_gui/zaclogo.ico')
    
    
    frame0 = Frame(root, width=200, height=100)
    frame0.pack()
    frame0.pack_propagate(0)
    
    frame1 = Frame(frame0, width=200, height=110, padx= 5, pady=5, bd=10,relief=RIDGE)
    frame1.grid(row=0, column=0)
    
    frame2 = Frame (frame0, width=200, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame2.grid(row=0, column=1)
    
    frame3 = Frame(root, width=400, height=100)
    frame3.pack()
    frame3.pack_propagate(0)
    
    frame4 = Frame(frame3, width=600, height=50, padx= 5, pady=5, bd=10, relief=RIDGE)
    frame4.grid(row=0, column=0)
    frame4.grid_propagate(0)
    
    frame = Frame (root, width=200, height=100, padx=5, pady=15, relief=RIDGE)
    frame.pack()
    frame.pack_propagate(0)
    
    framephoto = Frame (frame)
    framephoto.grid()
    
    canvas = Canvas(framephoto, width = 800, height = 324)
    canvas.grid()
    
    img = ImageTk.PhotoImage(Image.open("metavirchart2.png"))
    canvas.create_image(107, 0, anchor=NW, image=img)
    canvas.image = img
    
    frame5 = LabelFrame (root,text="Fibroscan® Score Guide",font=('arial', 10), padx= 5, pady=5, bd=10, relief= RIDGE)
    frame5.pack()
    frame5.pack_propagate(0)
    
    frame6 = Frame (frame5, width=230, height=50, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame6.grid(row=1, column=0)
    frame6.grid_propagate(0)
    
    frame7 = Frame (frame5, width=230, height=115, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame7.grid(row=2, column=0)
    frame7.grid_propagate(0)
    
    frame8 = Frame (frame5, width=230, height=50, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame8.grid(row=3, column=0)
    frame8.grid_propagate(0)
    
    frame9 = Frame (frame5, width=230, height=100, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame9.grid(row=4, column=0)
    frame9.grid_propagate(0)
    
    frame10 = Frame (frame5, width=515, height=50, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame10.grid(row=1, column=1)
    frame10.grid_propagate(0)
    
    frame11 = Frame (frame5, width=515, height=115, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame11.grid(row=2, column=1)
    frame11.grid_propagate(0)
    
    frame12 = Frame (frame5, width=515, height=50, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame12.grid(row=3, column=1)
    frame12.grid_propagate(0)
    
    frame13 = Frame (frame5, width=515, height=100, padx= 5, pady=5, bd=10, relief= RIDGE)
    frame13.grid(row=4, column=1)
    frame13.grid_propagate(0)
    
    frameguide = Frame (frame5)
    frameguide.grid(row=0, column=0)
    frameguide.grid_propagate(0)
    
    frame14 = Frame (frame13)
    frame14.grid(row=0, column=1)
    frame14.grid_propagate(0)
    
    identity = StringVar()
    fullname = StringVar()
    refdr = StringVar(root)
    datescan = StringVar()
    dob = StringVar()
    operator = StringVar()
    operator.set('Insert Operator Name')
    kpa = IntVar()
    metavir = StringVar()
    idrtype = StringVar()
    idrtxt = StringVar()
    
    lblidentity = Label(frame1, text="Patient ID", font=('arial', 10, 'bold'))
    lblidentity.grid(row=0, column=0, sticky=W)
    txtidentity = Entry(frame1, width=24, textvariable=identity, font=('arial', 10))
    txtidentity.grid(row=0, column=1)
    
    lblfullname = Label(frame1, text="Patient Name", font=('arial', 10, 'bold'))
    lblfullname.grid(row=1, column=0, sticky=W)
    txtfullname = Entry(frame1, width=24, textvariable=fullname, font=('arial', 10))
    txtfullname.grid(row=1, column=1)
    
    lbldob = Label(frame1, text="Date of Birth", font=('arial', 10, 'bold'))
    lbldob.grid(row=2, column=0, sticky=W)
    txtdob = Entry(frame1,  width=24,textvariable=dob, font=('arial', 10))
    txtdob.grid(row=2, column=1)
    
    lblrefdr = Label(frame1, text="Referring Doctor", font=('arial', 10, 'bold'))
    lblrefdr.grid(row=3, column=0, sticky=W)
    
    txtrefdr = ttk.Combobox(frame1, width=24,
                                values=[
                                        "Operator1",
                                        "Operator2",
                                        "Operator3",
                                        "Operator4",
                                        "Operator5",
                                        "Operator6",
                                        "Operator7"], state = "readonly")
    
    txtrefdr.grid(row=3, column=1)
    txtrefdr.current(0)
    
    lbldatescan = Label(frame2, text="Date of Scan", font=('arial', 10, 'bold'))
    lbldatescan.grid(row=0, column=0, sticky=W)
    txtdatescan = Entry(frame2, width=24, textvariable=datescan, font=('arial', 10))
    txtdatescan.grid(row=0, column=1)
    
    lblindi = Label(frame2, text="Indication", font=('arial', 10, 'bold'))
    lblindi.grid(row=1, column=0, sticky=W)
    
    txtindi = ttk.Combobox(frame2,width=24,
                                values=[
                                        "Hepatitis B*",
                                        "HCV-HIV co-infection*",
                                        "Hepatitis C",
                                        "Hepatitis C*",
                                        "Chronic Cholestatic Diseases*",
                                        "Alcohol**",
                                        "Others",
                                        "NAFLD***"], state="readonly")
    txtindi.grid(row=1, column=1)
    txtindi.current(0)
    
    lblgender = Label(frame2, text="Gender", font=('arial', 10, 'bold'))
    lblgender.grid(row=2, column=0, sticky=W)
    
    
    gender = ["Male", "Female", "Unspecified"]
    
    txtgender = ttk.Combobox(frame2, width=24,
                                values=gender, state="readonly")
    
    txtgender.grid(row=2, column=1)
    txtgender.current(0)
    
    lblop = Label(frame2, text="Operator", font=('arial', 10, 'bold'))
    lblop.grid(row=3, column=0, sticky=W)
    txtop = Entry(frame2, width=24, textvariable=operator, font=('arial', 10))
    txtop.grid(row=3, column=1)
    
    lbltitle = Label(frame4, text="YOUR FIBROSCAN® SCORE (Median LSM) is:    ")
    lbltitle.grid(row=0, column=0)
    
    lblkpa = Label(frame4, text="KPa     ")
    lblkpa.grid(row=0, column=2)
    txtkpa = Entry(frame4, textvariable=kpa, font=('arial', 10), width=5)
    txtkpa.grid(row=0, column=1)
    
    lblmeta = Label(frame4, text="             Metavir Stage:   ")
    lblmeta.grid(row=0, column=3)
    
    metavir_score = ["F0", "F0-F1", "F1", "F1-F2", "F2", "F2-F3", "F3-F4", "F4"]
    
    txtmeta = ttk.Combobox(frame4, width=10,
                                values=metavir_score, textvariable=metavir, state="readonly")
    
    txtmeta.grid(row=0, column=4)
    txtmeta.current(0)
    
    
    lbltitle2 = Label(frame6,
                  text="Underlying Liver Disease", font=('arial', 10, 'bold'))
    lbltitle2.grid(sticky=E)
    
    lbltitle3 = Label(frame7,
                          text="Assessment", font=('arial', 10, 'bold'))
    lbltitle3.grid(sticky=W)
    
    lbltitle4 = Label(frame8,
                          text="Clinical Interpretation", font=('arial', 10, 'bold'))
    lbltitle4.grid(sticky=W)
    
    lbltitle5 = Label(frame9,
                           text="Recommended Clinical Actions", font=('arial', 10, 'bold'))
    lbltitle5.grid(sticky=W)
    
    lbltitleudl = Label(frame10,
                           text="next to UDL", font=('arial', 10, 'bold'))
    lbltitleudl.grid()
    
    lbltitle3a = Label(frame11,
                           text="Fibroscan Median LSM      =", font=('arial', 10, 'bold'))
    lbltitle3a.grid(row=0, column=0, sticky =W)
    
    txtitle3a = Entry(frame11, width=16)
    txtitle3a.grid(row=0, column=1)
    
    lbltitle3a = Label(frame11,
                           text="Metavir Stage                    =", font=('arial', 10, 'bold'))
    lbltitle3a.grid(row=1, column=0, sticky=W)
    
    
    txtmetasg = ttk.Combobox(frame11, width=13,
                                values=metavir_score, state="readonly")
    
    txtmetasg.grid(row=1, column=1)
    txtmetasg.current(0)
    
    lbltitle3a = Label(frame11,
                           text="Probe Type                        =", font=('arial', 10, 'bold'))
    lbltitle3a.grid(row=2, column=0, sticky=W)
    
    txtmeta = ttk.Combobox(frame11, width=13,
                                values=[
                                        "S",
                                        "M",
                                        "XL",
                                        "Others"], state="readonly")
    
    txtmeta.grid(row=2, column=1)
    txtmeta.current(0)
    
    lbltitle3a = Label(frame11,
                           text="IQR/Median                        =", font=('arial', 10, 'bold'))
    lbltitle3a.grid(row=3, column=0, sticky=W)
    
    txtitle3a = Entry(frame11, width=16, textvariable=idrtype)
    txtitle3a.grid(row=3, column=1)
    
    lbltitle3a = Label(frame12,
                             text="Significant Fibrosis            =", font=('arial', 13, 'bold'))
    lbltitle3a.grid(row=0, column= 0)
    
    txtmeta = ttk.Combobox(frame12, width=10,
                                values=[
                                        "Yes",
                                        "No"], state="readonly")
    
    txtmeta.grid(row=0, column=1)
    txtmeta.current(0)
    
    fcolumn = Frame(frame13)
    fcolumn.grid()
    
    fcolumn1 = Frame(frame13)
    fcolumn1.grid(sticky=W)
    
    txtrca = ttk.Combobox(fcolumn, width=77, height=200,
                                values=[
                                        "Repeat Fibroscan in 1 year",
                                        "Patients with significant liver fibrosis have an increased risk of complications secondary \n to liver disease and development of HCC and should be considered \n for treatment of underlying aetiology or risk factor modification.",
                                        "In patients with advanced fibrosis or cirrhosis, regular screening \n and surveillance for HCC is also recommended.",
                                        ])
    
    txtrca.grid(row=0, column=0)
    txtrca.current(0)
    txtrca.grid_propagate(0)
    
    lbliqr = Label(fcolumn1,
                           text="M Probe IQR/MEDIAN        =", font=('arial', 10, 'bold'))
    lbliqr.grid(row=1, column=0, sticky =W)
    
    txtiqr = Entry(fcolumn1, width=16, textvariable=idrtxt)
    txtiqr.grid(row=1, column=1)
    
    lblguide = Label(fcolumn1,
                           text="*AASLD, APASL, EASL Guidelines", font=('arial', 10, 'bold'))
    lblguide.grid(row=2, column=0, sticky =W)
    
    root.mainloop()

any help will be appreciated. no hate comments pls if u cant help or dun wish to help.

Try this

from tkinter import *

scroll_bar = Scrollbar(root)

scroll_bar.pack(side=RIGHT,fill=Y)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM