Как я могу получить вывод, который выводится на терминал Spyder на мой интерфейс, который также находится в переменной «data»? - PullRequest
0 голосов
/ 29 мая 2019

Список, который генерируется через, находится в «данных», которые я печатаю, но я хочу, чтобы этот список или «данные» на моем интерфейсе «метка» с полосой прокрутки.Как я могу это сделать?

Я перепробовал все способы, которые get(), relief и т. Д.

import tkinter as tk  
from tkinter import ttk
from tkinter import *
import pandas as pd


window = tk.Tk()

#menubar = Menu(window) 


window.title('Automatic Extraction Of Examiners List')   
width = 500
height = 500
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
         window.geometry("%dx%d" % (width, height))
         window.resizable(1000,1000)

    #file = Menu(window,menubar,tearoff=0)
    #menubar.add_cascade(label='File',menu=file)


    window.config(bg="white")
    #
    data = pd.read_csv("E:/ResumePDF/ResumeCSVv4.csv") 
    #name = tk.StringVar()      
    #nameEntered = ttk.Entry(window, width = 12, textvariable =name).grid(column= 4, row = 0)  

    variable = tk.StringVar()
    variable.set("Choose your subject") # default value
    w = ttk.OptionMenu(window, variable,"Choose your subject", "Big Data", "Machine Learning").place(x=200,y=50)

    def click():
        if variable.get() == "Big Data":
           #lbl = ttk.Label(window).place(x= 200, y = 150)
           print("List For Big Data Examiners: \n")
           data.sort_values("BigData", ascending=False, inplace=True)
           print(data[['Name','Email']],"\n")
           #res = "This is a one"+ print(data1)
           #lbl.config(text=data1)
           lbl.data.get()
           #r = 0
           #for col in data:
                #c = 0
                #for row in col:
             # i've added some styling
                     #label = ttk.Label(window, width = 10, height = 2, text = 
                     row, relief = ttk.RIDGE)
                     #label.grid(row = 50, column = 100)
                     #c += 1
                #r += 1


        elif variable.get() == "Machine Learning":
            print("List For Machine Learning Examiners: \n")
            data.sort_values("MachineLearning", ascending=False, inplace=True)
            print(data[['Name','Email']],"\n")

    button = ttk.Button(window, text = "SHOW", command=click).place(x = 150 , y = 100) 
    button1 = ttk.Button(window, text = "EXIT", command=window.destroy).place(x=300,y=100)
    lbl = ttk.Label(window).place(x= 200, y = 150)



    window.mainloop()

Когда код приходит к этой строке "lbl.data.get()"

Исключение в обратном вызове Tkinter lbl.data.get () AttributeError: у объекта 'NoneType' нет атрибута 'data'

1 Ответ

0 голосов
/ 29 мая 2019

lbl - это метка tkinter, у которой нет атрибута данных.Если вы хотите, чтобы ваши данные были на полосе прокрутки, вы можете использовать виджет ListBox и Scrollbar вместо одной метки.Вы можете легко добавлять элементы к нему, а также пользователь может выбрать одну из записей.

Вот пример из этого ref , как использовать виджет полосы прокрутки:

from tkinter import *

root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack( side = RIGHT, fill = Y )

mylist = Listbox(root, yscrollcommand = scrollbar.set )
for line in range(100):
   mylist.insert(END, "This is line number " + str(line))

mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )

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