button placement.
ich mache jeden tag 2 stunden Sport, gehe zum Badminton und habe teilweise bis 4 Uhr schule. wenn ich dann um 6 oder sieben Uhr zuhause bin, habe ich tatsächlich nicht sonderlich viel Motivation mich damit tiefergehend zu beschäftigen. das buch, dass ich mir dafür gekauft habe ist absoluter quatsch und wenn ich es zwar lernen möchte aber nicht Zuviel zeit investieren kann, ist daran denke ich nichts auszusetzen. ich schade ja niemandem und wer nicht antworten will muss nicht.
Bullshit. Das markieren von Code und auswaehlen der CodeBox kostet SEKUNDEN. Die hast du, aber ganz sicher.jan.b hat geschrieben:ich mache jeden tag 2 stunden Sport, gehe zum Badminton und habe teilweise bis 4 Uhr schule. wenn ich dann um 6 oder sieben Uhr zuhause bin, habe ich tatsächlich nicht sonderlich viel Motivation mich damit tiefergehend zu beschäftigen. das buch, dass ich mir dafür gekauft habe ist absoluter quatsch und wenn ich es zwar lernen möchte aber nicht Zuviel zeit investieren kann, ist daran denke ich nichts auszusetzen. ich schade ja niemandem und wer nicht antworten will muss nicht.
Und wir erzaehlen dir das hier nicht, um dich zu aergern, sondern weil diese Dinge *uns*, den Leuten, die dir kostenlos Wissen vermitteln wollen, das Leben leichter macht. Und deine Einstellung "ICH bin zu beschaeftigt mir Muehe zu geben, sollen die anderen das doch investieren" ist milde gesagt unverschaemt.
Du hast naemlich durchaus recht - niemand muss dir antworten, und es wird dann halt irgendwann nicht mehr passieren. Das wiederum ist genauso wenig unser Problem.
Und das Beispiel von wuf haettest du dir hier auch raussuchen koennen, ohne darauf einen Tag warten zu muessen. Da er so etwas oft postet. Von wegen zu wenig Zeit und so...
bis vor 5 Minuten war ich zu dumm, um diese bescheuerten Code boxen richtig zu setzen. dafür hat mir selbverständlich nicht die zeit gefehlt. das bezog sich nur auf den Lernprozess an sich. ich habe bei wuf nichts gefunden, dass ich auf meine frage beziehen könnte, was daran liegt, dass ich das meiste nicht verstehe. aber ich glaube, dass wir zu dem ganzen einfach unterschiedliche Meinungen haben.
Vor nem halben Jahr konntest du das noch. viewtopic.php?t=41148
Die gleiche asoziale Attitüde hat sich allerdings auch schon in voller Pracht dargestellt....
Die gleiche asoziale Attitüde hat sich allerdings auch schon in voller Pracht dargestellt....
Es kann natürlich sein, das ich dich verzerrt wahrnehme. Nur haben dir nahezu alle Leute die hier regelmäßig Posten, schon mal gesagt, dass an deinem Verhalten einiges zu wünschen übrig bleibt. Da wird die Chance, das es die Fehlwahrbehmung von mir ist, geringer ...jan.b hat geschrieben:kann es sein, dass du einen vollkommen falschen eindruck von mir hast? es ist nicht asozial, wenn es nicht böse gemeint ist.
Hi jan.b
Ein Teil deiner Frage im ersten Abschnitt dieses Threads war:
Hallo, wie kann ich diesen button umposittionieren?
Was verstehst du mit umposittionieren genau? Kannst du dein Vorhaben präziser beschreiben?
Gruss wuf
Ein Teil deiner Frage im ersten Abschnitt dieses Threads war:
Hallo, wie kann ich diesen button umposittionieren?
Was verstehst du mit umposittionieren genau? Kannst du dein Vorhaben präziser beschreiben?
Gruss wuf
Take it easy Mates!
OK! Hier die Variante mit der Platzierung auf einer Canvas:jan.b hat geschrieben:Damit war das positionieren eines buttons nach ausgewählten Koordinaten innerhalb eines canvas Objektes gemeint.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
APP_TITLE = "Button placing on canvas"
APP_XPOS = 100
APP_YPOS = 100
APP_WIDTH = 600
APP_HEIGHT = 200
ANCHORS = ['center', 'n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw']
FONT = ('Helevetica', 14, 'bold')
class Application(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.title(APP_TITLE)
def build(self):
self.protocol("WM_DELETE_WINDOW", self.close_app)
self.geometry("+{}+{}".format(APP_XPOS, APP_YPOS))
self.geometry("{}x{}".format(APP_WIDTH, APP_HEIGHT))
self.option_add("*Button.highlightThickness", 0)
self.canvas = tk.Canvas(self, bg='#FFFF00')
self.canvas.pack(fill='both', expand=True)
self.canvas.update_idletasks()
self.pos_var = tk.StringVar()
self.button = tk.Button(None, textvariable=self.pos_var, width=18,
height=2, font=FONT)
self.button.pack(padx=10, pady=10)
self.button_width = self.button.winfo_reqwidth()
self.button_height = self.button.winfo_reqheight()
self.button_xpos = 0
self.button_ypos = 0
self.button_window = self.canvas.create_window(
self.button_xpos,
self.button_ypos,
window=self.button, anchor='nw', tag='button')
self.place_the_button()
def place_the_button(self, pos_index=0):
canvas_width = self.canvas.winfo_width()
canvas_height = self.canvas.winfo_height()
print(self.button_width, self.button_height, canvas_width, canvas_height)
anchor = ANCHORS[pos_index]
if anchor == 'center':
xpos = (canvas_width-self.button_width) / 2
ypos = (canvas_height-self.button_height) / 2
elif anchor == 'n':
xpos = (canvas_width-self.button_width) /2
ypos = 0
elif anchor == 'ne':
xpos = (canvas_width-self.button_width)
ypos = 0
elif anchor == 'e':
xpos = (canvas_width-self.button_width)
ypos = (canvas_height-self.button_height) / 2
elif anchor == 'se':
xpos = (canvas_width-self.button_width)
ypos = (canvas_height-self.button_height)
elif anchor == 's':
xpos = (canvas_width-self.button_width) / 2
ypos = (canvas_height-self.button_height)
elif anchor == 'sw':
xpos = 0
ypos = (canvas_height-self.button_height)
elif anchor == 'w':
xpos = 0
ypos = (canvas_height-self.button_height) / 2
elif anchor == 'nw':
xpos = 0
ypos = 0
self.pos_var.set("Position:\n'{}'".format(anchor))
self.canvas.coords('button', xpos, ypos)
pos_index += 1
if pos_index == len(ANCHORS):
pos_index = 0
self.after(2000,self.place_the_button, pos_index)
def close_app(self):
# Here do something before apps shutdown
print("Good Bye!")
self.destroy()
def main():
app = Application()
app.build()
app.mainloop()
if __name__ == '__main__':
main()
Take it easy Mates!
Hi jan.b
Hier noch eine Variante mit wesentlich weniger Zeilen:Gruss wuf
Hier noch eine Variante mit wesentlich weniger Zeilen:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
class Application(tk.Tk):
def __init__(self, title):
tk.Tk.__init__(self)
self.title(title)
self.geometry("300x300")
self.canvas = tk.Canvas(self, bg='#FFFF00')
self.canvas.pack(fill='both', expand=True)
self.canvas.update_idletasks()
self.pos_var = tk.StringVar()
self.button = tk.Button(None, text="Button-Widget", width=10)
self.button.pack()
# Alte Button Position
xpos = 0
ypos = 0
self.button_window = self.canvas.create_window(xpos, ypos,
window=self.button, anchor='nw', tag='button')
# Neue Button Position
xpos = 150
ypos = 150
self.canvas.coords('button', xpos, ypos)
Application("Button placing on canvas").mainloop()
Take it easy Mates!