zu folgendem Code hätte ich folgende Fragen:
1. Wie würde dieser Code aussehen, wenn dies ein Profi schreiben würde(Code Optimierung)?
2. Wie kann ich die PNGs die ich anzeigen möchte aktualisieren lassen? Im Tab1 sowie auch im Tab2
Zu meinen Kenntnissen:
Dies ist mein erster Kontakt mit Python bzw. mit einem GUI Coding oder gar Coding auf einem Betriebssystem. Bislang bin ich nur mit Assembler oder manchmal auch C unterwegs ohne Betriebssystem.
Wenn diese Themen schon anders beschrieben werden, würde ich um Stichworten bitten nach denen ich suchen kann.
Vielen Dank!
Gruß Holgus
Mein configuration.cfg:
[codebox=ini file=Unbenannt.ini][section0]
1 = 3
2 = 2
3 = 1
4 = 0[/code]
Mein Python 3.5.2:
Code: Alles auswählen
from tkinter import PhotoImage
from tkinter import Label
from tkinter import mainloop
from tkinter import ttk
import tkinter
import configparser
root = tkinter.Tk()
root.title('ComboTest')
tab = ttk.Notebook(root)
tab1 = ttk.Frame(tab)
tab2 = ttk.Frame(tab)
tab.add(tab1, text='Tab1')
tab.add(tab2, text='Tab2')
tab.grid(row=0, column=0)
config = configparser.RawConfigParser()
list_combo = ["option1","option2","option3","option4"]
list_col = ["row1","col1","col2","col3","col4"]
def config_write(section,name,parameter):
print ('write config to:',section,name,parameter)
config.set(section,name,parameter)
with open('configuration.cfg', 'w') as configfile:
config.write(configfile)
def config_read(section,name):
print ('read config from:',section, name)
config.read('configuration.cfg')
return (config.get(section,name))
#---Tab1------------------------------------------------------------------
label2= Label(tab1, text='row1')
label2.grid(column=0, row=1)
label3= Label(tab1, text='row2')
label3.grid(column=0, row=2)
x=0
for x in range(5):
label= Label(tab1, text=list_col[x])
label.grid(column=x, row=0)
# 1st combobox with picture
box_1 = ttk.Combobox(tab1, value=list_combo, state='readonly')
box_1.set(list_combo[int(config_read('section0','1'))])
box_1.bind('<<ComboboxSelected>>', lambda evente: config_write('section0','1',box_1.current()))
box_1.grid(column=1, row=1)
img_tab1_1 = PhotoImage(file=[int(config_read('section0','1')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab1_1 = Label(tab1, image=img_tab1_1)
pic_tab1_1.grid(column=1,row=2)
# 2nd combobox with picture
box_2 = ttk.Combobox(tab1, value=list_combo, state='readonly')
box_2.set(list_combo[int(config_read('section0','2'))])
box_2.bind('<<ComboboxSelected>>', lambda evente: config_write('section0','2',box_2.current()))
box_2.grid(column=2, row=1)
img_tab1_2 = PhotoImage(file=[int(config_read('section0','2')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab1_2 = Label(tab1, image=img_tab1_2)
pic_tab1_2.grid(column=2,row=2)
# 3rd combobox with picture
box_3 = ttk.Combobox(tab1, value=list_combo, state='readonly')
box_3.set(list_combo[int(config_read('section0','3'))])
box_3.bind('<<ComboboxSelected>>', lambda evente: config_write('section0','3',box_3.current()))
box_3.grid(column=3, row=1)
img_tab1_3 = PhotoImage(file=[int(config_read('section0','3')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab1_3 = Label(tab1, image=img_tab1_3)
pic_tab1_3.grid(column=3,row=2)
# 4th combobox with picture
box_4 = ttk.Combobox(tab1, value=list_combo, state='readonly')
box_4.set(list_combo[int(config_read('section0','4'))])
box_4.bind('<<ComboboxSelected>>', lambda evente: config_write('section0','4',box_4.current()))
box_4.grid(column=4, row=1)
img_tab1_4 = PhotoImage(file=[int(config_read('section0','4')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab1_4 = Label(tab1, image=img_tab1_4)
pic_tab1_4.grid(column=4,row=2)
#---Tab2------------------------------------------------------------------
img_tab2_1 = PhotoImage(file=[int(config_read('section0','1')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab2_1 = Label(tab2, image=img_tab2_1)
pic_tab2_1.grid(column=1,row=1)
img_tab2_2 = PhotoImage(file=[int(config_read('section0','2')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab2_2 = Label(tab2, image=img_tab2_2)
pic_tab2_2.grid(column=2,row=1)
img_tab2_3 = PhotoImage(file=[int(config_read('section0','3')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab2_3 = Label(tab2, image=img_tab2_3)
pic_tab2_3.grid(column=3,row=1)
img_tab2_4 = PhotoImage(file=[int(config_read('section0','4')),'_pic.png']) # 1 _pic.png,2 _pic.png,3 _pic.png,4 _pic.png
pic_tab2_4 = Label(tab2, image=img_tab2_4)
pic_tab2_4.grid(column=4,row=1)
mainloop()