Полоса прокрутки не активна в Python TK - PullRequest
0 голосов
/ 29 мая 2018

Я создаю окно с несколькими вкладками, используя Блокнот и на одной из вкладок «Флажок» будет создаваться динамически в зависимости от значений в Excel.(Я могу читать значения из Excel и создать флажок).Поле Количество проверок будет равно числовым значениям в Excel.

В моем Excel у меня есть значения от 1 до 30 .Но я вижу значения до 1 до 11 и другие значения не отображаются в пользовательском интерфейсе, но полоса прокрутки не активна.

Пожалуйста, помогите мне с этим.

import tkinter as tk

from dicttoxml import dicttoxml
import xlrd


import GetValueFromExcel
from GetValueFromExcel import ExcelValue
from array import array
from tkinter import *
from tkinter import ttk, Button
from tkinter import *

root = Tk()
CheckBoxSelection=[]
NameOfVariable=[]
KeyName=[]
SelectedCheckbox=[]
dict={}
frame_main = tk.Frame(root)
frame_main.grid(sticky='news')
canvas=tk.Canvas()

class UICreation():

    def __init__(self):
        print ("I m in __init__")
        self.nb=ttk.Notebook(frame_main)
        self.page1=ttk.Frame(self.nb)
        self.page2=ttk.Frame(self.nb)


    def tabcreation(self):
        print ("I M in Tab Creation")
        self.nb.add(self.page1,text="Select")
        canvas = tk.Canvas(self.page1)
        canvas.grid(row=0, column=0, sticky="news")
        vsb = tk.Scrollbar(self.page1, orient="vertical", command=canvas.yview)
        vsb.grid(row=0, column=1, sticky='ns')
        canvas.configure(yscrollcommand=vsb.set)
        canvas.config(scrollregion=canvas.bbox("all"))
        f = tk.Frame(canvas)
        canvas.create_window((200, 0), window=f, anchor="n")
        self.nb.add(self.page2,text="Add")
        self.nb.grid(sticky=N)
        print ("I M in checkBox")
        ListNumber=len(List_key)
        print (ListNumber)
        for value in range(0,ListNumber, 1):
             NameOfVariable= "checkBox" + str(value)
             CheckBoxSelection.append("var"+str(value))
             CheckBoxSelection[value]=IntVar()
             NameOfVariable = Checkbutton(f, text=str(List_key[value]),variable=CheckBoxSelection[value])
             Checkbutton()
             NameOfVariable.grid(sticky=NW)
             NameOfVariable.cget("text")
             KeyName.append(NameOfVariable.cget("text"))

    def button(self):
         button = Button(frame_main, text="Submit", command=self.OnButtonClick)
         button.grid(sticky=NW)

    def OnButtonClick(self):
        index = 0
        SelectedCheckboxValue=[]
        for st in (CheckBoxSelection):
            if st.get():
                SelectedCheckboxKey=KeyName[index]
                SelectedCheckboxValue=GetValueFromExcel.row_data_dict[SelectedCheckboxKey]
                index+=1
                dict={
                "Properties": {"id": "ConnectJetSerialNumber"+SelectedCheckboxKey,"value":SelectedCheckboxValue[0],"PrinterName":SelectedCheckboxValue[1],"PrinterName2":SelectedCheckboxValue[2]}
                     }
                print(dict)
                xml = dicttoxml(dict, custom_root='test', attr_type=False)
                file=open(r"C:\SmallVille\SmallVilleAutoConfigGUI\Selected.xml","a")
                file.write(str(xml))
            else:
                index+=1


if __name__ == '__main__':
    ui = UICreation()
    ev = GetValueFromExcel.ExcelValue()
    t=ev.readExcelValue()
    print("I am before print t")
    print(t)
    print("I am before list")
    List_key= list(t.keys())
    print (List_key)
    ui.tabcreation()
    ui.button()
    root.mainloop()

Снимок экрана пользовательского интерфейса также прилагается My UI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...