2017-05-21 9 views
0

に私はプログラムをオンにし、リストから不要な名前を削除すると問題がある一方で、リストから名前を削除し、プログラムがTkinterの、パイソン、プログラム

import random 
import tkinter, sys 
from tkinter import * 
import tkinter.messagebox as messagebox 


list = ['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(): 
    messagebox.showinfo(message=random.choice(list)) 

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

。どのようにボタンを使ってそれらを削除したいですか?あなたは何を試しましたか? – RandomHash

+0

名前を削除し、描画の名前プールを減らすボタンでリストとリストボックスから名前を削除したい –

+0

'Listbox'ウィジェットのドキュメントを読んだことはありますか?アイテムを削除する方法は文書化されています。 –

答えて

1

もっと明確になる

あなたの問題は多少理解しています。あなたがボタンをクリックするとリストボックスから項目を削除したいと思います(ここでは「削除」はボタンです)。

1)ウィンドウを閉じるにはsys.exit()ではありませんメインmain.destroy()を使用しなければならない

メイン= tkinter.TK()

2)削除するlistbox.delete(0、END)を使用して全体のリストボックスの項目

から3)次に、リストの理解は、name_list wに項目のリストを作成しますHICH unnecessary_namesに存在しない(削除したい名前のリスト!)

final_list = [Xでない場合unnecessary_namesでNAME_LISTにおけるxについてx]は

4)リストボックスを使用してリストボックスを更新します。 final_listのアイテムごとにinsert(END、item)してください。 注: ENDは、を挿入する特別なパラメータであり、リストの最後の後に項目を追加する方法を指定します。

import random 
import tkinter, sys 
from tkinter import * 
import tkinter.messagebox as messagebox 


unnecessary_names = ['apple', 'pineapple', 'lemon'] 
name_list = ['pineapple', 'apple', 'tomato' ,'onion','egg']  
def end(): 
    main.destroy() 

def draw(): 
    messagebox.showinfo(message=random.choice(unnecessary_names)) 
def delete(): 
    listbox.delete(0,END) 
    final_list = [x for x in name_list if x not in unnecessary_names] 
    for item in final_list: 
     listbox.insert(END,item) 



main = tkinter.Tk() 

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

#Displays a 1T list 
listbox = Listbox(main) 
for items in name_list: 
    listbox.insert(END,items) 
listbox.pack() 

#delete 
z = tkinter.Button(main, text = 'delete', command = delete) 
z.pack() 
#draw 
y = tkinter.Button(main, text = 'draw', command = draw) 
y.pack() 

#exit 
x = tkinter.Button(main, text = 'end', command = end) 
x.pack() 

main.mainloop() 

最後に、私はそれを翻訳しなければならないことを理解していません。

はポーランド語で

をプログラミングお楽しみください:

CieszyćSIEのprogramowaniemリスト、またはリストボックスからエントリを削除したいリストを正確に何を意味するか、