Buttons in Mehreren Forms anordnen

  • Python

    Buttons in Mehreren Forms anordnen

    Hallo zusammen,

    Ich bin mit einem Projekt in Python beschäftigt das 4 Formulare enthält und sehr viele Buttons mit Bildern,
    Nun das Grundgerüst (Formulare,Buttons ect. habe ich schon eingefügt.) jedoch sind alle Buttons nun untereinander, ist es möglich, dies mit einem Grid zu formatieren? oder gibt es noch eine andere Lösung?

    Mein Bisherige Code:
    Spoiler anzeigen

    Python-Quellcode

    1. try:
    2. import tkinter as tk
    3. except:
    4. import Tkinter as tk
    5. import sys
    6. import socket
    7. import tkinter
    8. import sys
    9. from functools import partial
    10. from tkinter import PhotoImage
    11. class FullScreenApp(object):
    12. def __init__(self, master, **kwargs):
    13. self.master=master
    14. pad=3
    15. self._geom='200x200+0+0'
    16. master.geometry("{0}x{1}+0+0".format(
    17. master.winfo_screenwidth()-pad, master.winfo_screenheight()-pad))
    18. master.bind('<Escape>',self.toggle_geom)
    19. def toggle_geom(self,event):
    20. geom=self.master.winfo_geometry()
    21. print(geom,self._geom)
    22. self.master.geometry(self._geom)
    23. self._geom=geom
    24. class Kalender():
    25. def __init__(self, master):
    26. self.master=master
    27. app=FullScreenApp(self.master)
    28. self.frame = tk.Frame(self.master)
    29. self.de=PhotoImage(file='de.gif')
    30. self.ton_de_button = tk.Button(self.master, image=self.de, command = self.do_exit)
    31. self.exitbutton = tk.Button(self.master, text="Kalender Beenden", command=self.do_exit)
    32. self.ton_de_button.pack()
    33. self.exitbutton.pack()
    34. def do_exit(self):
    35. self.master.quit()
    36. self.master.destroy()
    37. print ("Buttons beendet!")
    38. class Bilder():
    39. def __init__(self, master):
    40. self.master=master
    41. self.frame = tk.Frame(self.master)
    42. app=FullScreenApp(self.master)
    43. ##Play
    44. self.play=PhotoImage(file='play.gif')
    45. self.play_button = tk.Button(self.master, image=self.play, command = self.play_gewaehlt)
    46. ##Pause
    47. self.pause=PhotoImage(file='pause.gif')
    48. self.pause_button = tk.Button(self.master, image=self.pause, command = self.pause_gewaehlt)
    49. ##Vor
    50. self.vor=PhotoImage(file='vor.gif')
    51. self.vor_button = tk.Button(self.master, image=self.vor, command = self.vor_gewaehlt)
    52. ##Zurück
    53. self.zurueck=PhotoImage(file='zurueck.gif')
    54. self.zurueck_button = tk.Button(self.master, image=self.zurueck, command = self.zurueck_gewaehlt)
    55. ##Video Abspielen
    56. self.video_start=PhotoImage(file='film_abspielen.gif')
    57. self.video_start_button = tk.Button(self.master, image=self.video_start, command = self.video_start_gewaehlt)
    58. ##Video Stoppen
    59. self.video_stop=PhotoImage(file='film_stoppen.gif')
    60. self.video_stop_button = tk.Button(self.master, image=self.video_stop, command = self.video_stop_gewaehlt)
    61. ##Ton ein
    62. self.ton_ein=PhotoImage(file='ton_ein.gif')
    63. self.ton_ein_button = tk.Button(self.master, image=self.ton_ein, command = self.ton_ein_gewaehlt)
    64. ##Ton aus
    65. self.ton_aus=PhotoImage(file='ton_aus.gif')
    66. self.ton_aus_button = tk.Button(self.master, image=self.ton_aus, command = self.ton_aus_gewaehlt)
    67. ##Video Deutsch
    68. self.sprache_deutsch=PhotoImage(file='de.gif')
    69. self.sprache_deutsch_button = tk.Button(self.master, image=self.sprache_deutsch, command = self.sprache_deutsch_gewaehlt)
    70. ##Video Schweizerdeutsch
    71. self.sprache_sdeutsch=PhotoImage(file='sde.gif')
    72. self.sprache_sdeutsch_button = tk.Button(self.master, image=self.sprache_sdeutsch, command = self.sprache_sdeutsch_gewaehlt)
    73. ##Video Französisch
    74. self.sprache_franz=PhotoImage(file='fr.gif')
    75. self.sprache_franz_button = tk.Button(self.master, image=self.sprache_franz, command = self.sprache_franz_gewaehlt)
    76. ##Buttons erstellen
    77. self.exitbutton = tk.Button(self.master, text="Bilder Beenden", command = self.zurueck)
    78. self.play_button.pack()
    79. self.pause_button.pack()
    80. self.vor_button.pack()
    81. self.zurueck_button.pack()
    82. self.video_start_button.pack()
    83. self.video_stop_button.pack()
    84. self.ton_ein_button.pack()
    85. self.ton_aus_button.pack()
    86. self.sprache_deutsch_button.pack()
    87. self.sprache_sdeutsch_button.pack()
    88. self.sprache_franz_button.pack()
    89. self.exitbutton.pack()
    90. ##Play
    91. def play_gewaehlt(self):
    92. print("Button 1 gedrueckt")
    93. ##Pause
    94. def pause_gewaehlt(self):
    95. print("Button 1 gedrueckt")
    96. ##vor
    97. def vor_gewaehlt(self):
    98. print("Button 1 gedrueckt")
    99. ##Zurück
    100. def zurueck_gewaehlt(self):
    101. print("Button 1 gedrueckt")
    102. ##Video Starten
    103. def video_start_gewaehlt(self):
    104. print("Button 1 gedrueckt")
    105. ##Video Stoppen
    106. def video_stop_gewaehlt(self):
    107. print("Button 1 gedrueckt")
    108. ##Ton ein
    109. def ton_ein_gewaehlt(self):
    110. print("Button 1 gedrueckt")
    111. ##ton_aus
    112. def ton_aus_gewaehlt(self):
    113. print("Button 1 gedrueckt")
    114. ##sprache deutsch
    115. def sprache_deutsch_gewaehlt(self):
    116. print("Button 1 gedrueckt")
    117. ##sprache sdeutsch
    118. def sprache_sdeutsch_gewaehlt(self):
    119. print("Button 1 gedrueckt")
    120. ##sprache franz
    121. def sprache_franz_gewaehlt(self):
    122. print("Button 1 gedrueckt")
    123. ##schliessen
    124. def zurueck(self):
    125. self.master.quit()
    126. self.master.destroy()
    127. print ("Buttons beendet!")
    128. class MainFrame():
    129. def __init__(self):
    130. self.root = tk.Tk()
    131. self.state=False
    132. app=FullScreenApp(self.root)
    133. ##start_class_button = tk.Button(self.root, text="Öffnen", command=self.do_start_class, width=20)
    134. ##Kalender öffnen
    135. self.kalender=PhotoImage(file='kalender.gif')
    136. self.kalender_menu_button = tk.Button(self.root, image=self.kalender, command=self.kalender_modus)
    137. ##Präsentation öffnen
    138. self.praesentation=PhotoImage(file='praesentations_modus.gif')
    139. self.praesentations_modus_button = tk.Button(self.root, image=self.praesentation, command=self.praesentation_modus)
    140. ##Präsentation öffnen
    141. self.radio=PhotoImage(file='radios.gif')
    142. self.radio_button = tk.Button(self.root, image=self.radio, command=self.radio_modus)
    143. ##Beenden
    144. exit_button = tk.Button(self.root, text="beenden", command=self.do_exit, width=20)
    145. ##start_class_button.pack()
    146. self.kalender_menu_button.pack()
    147. self.praesentations_modus_button.pack()
    148. self.radio_button.pack()
    149. exit_button.pack()
    150. self.root.mainloop()
    151. def do_exit(self):
    152. self.root.quit()
    153. self.root.destroy()
    154. def kalender_modus(self):
    155. if self.state==False:
    156. print ("starte Subfenster...")
    157. self.buttons = Kalender(tk.Toplevel())
    158. self.state=True
    159. else:
    160. print ("schließe Subfenster...")
    161. self.state=False
    162. def radio_modus(self):
    163. if self.state==False:
    164. print ("starte Subfenster...")
    165. self.buttons = Kalender(tk.Toplevel())
    166. self.state=True
    167. else:
    168. print ("schließe Subfenster...")
    169. self.state=False
    170. def praesentation_modus(self):
    171. if self.state==False:
    172. print ("starte Subfenster...")
    173. self.buttons = Bilder(tk.Toplevel())
    174. self.state=True
    175. else:
    176. print ("schließe Subfenster...")
    177. self.state=False
    178. myframe = MainFrame()
    179. print ("Programm beendet")



    Edit.
    Habe es mit Grid gelöst!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „schnibli“ ()