2017-05-21 1 views
1

주어진 코드의 터미널 대신 인터페이스에서 결과를 얻으려면 어떻게해야합니까? random.choice 결과가 표에 나타나기를 바랍니다.tkinter를 사용하여 창에 값을 표시하는 방법은 무엇입니까?

import random 
import tkinter, sys 
from tkinter import * 

lista = ['Kamil Winnicki', 'Wiktor Jasiński', 'Adam Turowski', 'Arek Major', 
     'Dominik Piechotka', 'Jakub Laskowski', 'Jakub Materak', 'Kacper Kołodziejski', 
     'Kamil Stankiewicz', 'Konrad Nosek', 'Krzysiek Wawszczak', 'Andrzej Oplebsiak', 
     'Miłosz Tarucin', 'Paweł Pawłowski', 'Mateusz Lebioda'] 

def koniec(): 
    sys.exit() 

def losowanie(): 
    print(random.choice(lista)) 

main = tkinter.Tk() 

#nagłowek 
te = tkinter.Label(main, text = 'Lista 1T:') 
te.pack() 

#Wyswietla liste 1T 
listbox = Listbox(main) 
listbox.insert(1, '1. Mateusz Lebioda', '2. Jakub Laskowski', '3. Kamil Winnicki', 
        '4. Wiktor Jasiński', '5. Adam Turowski', '6. Arek Major', 
        '7. Dominik Piechotka', '8. Jakub Materak', '9. Kacper Kołodziejski', 
        '10. Kamil Stankiewicz', '11. Konrad Nosek', '12. Krzysiek Wawszczak', 
        '13. Andrzej Oplebsiak', '14. Miłosz Tarucin', '15. Paweł Pawłowski') 
listbox.pack() 
#losuje 
y = tkinter.Button(main, text = 'losuj', command = losowanie) 
y.pack() 

#wyjscie z aplikacji 
x = tkinter.Button(main, text = 'Zakoncz', command = koniec) 
x.pack() 

main.mainloop() 
+0

당신이 그것을 동일한 프레임에 표시 할 마십시오 (기능 losowanie와) 테이블의 끝에서 무작위로 선택을 삽입합니다? 프레임의 모든 항목을 지운 다음 무작위로 선택 사항을 인쇄하십시오. –

답변

1

하나의 방법은 선택 사항이있는 대화 상자를 표시하는 것입니다. 난 당신이 다음 코드에 의해 달성 될 수있다 목록 상자 요소에 random.choice(lista)의 결과를 추가 할 필요가 정확하게 질문을 이해하면

import tkinter.messagebox as messagebox 

def losowanie(): 
    messagebox.showinfo(message=random.choice(lista)) 
1

는 :

댄 데브처럼
def losowanie(): 
    listbox.insert(END, str(listbox.size() + 1) + ". " + random.choice(lista)) 
1

당신이 할 수있는 제안 그는 그러나 당신은 또한 이것은 당신이하고자하는 일을 할 것입니다

기능을 제거하지만 기능이없는 losowaine받을 수 있습니다

,210

이 아래 코드는

def losowanie(): 
    listbox.insert(END, (random.choice(lista))) 
관련 문제