2013-11-15 25 views
5

Ich versuche, eine Schaltfläche zu erstellen und ändern Sie die Höhe und Breite mit dem Code unten, aber die tatsächliche Schaltfläche wird nicht physisch angezeigt. Wenn Sie jedoch den Mauszeiger über den Bereich bewegen, in dem er sein soll, und auf ihn klicken, wird das neue Fenster geöffnet. Irgendwelche Ideen?tkinter Taste Höhe und Breite

import sys 
from tkinter import * 

#main menu 
def mmWindow(): 
    mmWindow=Tk() 
    mmWindow.geometry('600x600') 


#first window 
mWindow= Tk() 
mWindow.geometry('1920x1080+0+0') 
mWindow.title('DMX512 Controller') 

wtitle = Label (mWindow, text = "Pi DMX", fg = 'blue') 
wtitle.place(x = 640, y = 100) 

#main menu button 
mmbutton = Button (mWindow, text = "Main Menu",command = mmWindow) 
mmbutton.place(x=200, y = 200) 
mmbutton.config(width=200, height=200) 
+0

Eigentlich ist es physisch nicht zeigen. Das Problem ist, da es so riesig ist, ist es schwierig, vom Rest des Fensters zu unterscheiden. – iCodez

+0

schuljunge fehler !!! Danke, jetzt mein nächstes Problem Ich kann die Breite ändern, aber der ursprüngliche Fehler der Höhe tritt immer noch auf, die tatsächliche physische Größe der Schaltfläche ändert sich nicht, aber der 'Klick' Bereich tut ....... wie Sie vielleicht schon erraten haben ein Noob zu Python. – user2996828

+0

Ich bin etwas verwirrt, was Sie tun. Warum willst du einen Button machen und dann seine Höhe/Breite um eine Zeile ändern, nachdem du ihn auf das Fenster gelegt hast? Was versuchst du hier zu machen? Versuchen Sie, etwas Besonderes zu tun oder versuchen Sie nur, eine Schaltfläche mit einer benutzerdefinierten Größe auf dem Fenster zu bekommen? – iCodez

Antwort

3

In Bezug auf Ihre erste Frage: die Schaltfläche physisch angezeigt wird. Das Problem ist, da es so groß ist, ist es schwierig, vom Rest des Fensters zu unterscheiden.

Jetzt haben Sie gesagt, dass Ihr ultimatives Ziel darin besteht, die Größe einer Schaltfläche zu ändern. Wenn ja, dann sind Sie auf dem richtigen Weg: Sie verwenden dazu die Optionen und width.

aber ich würde empfehlen, dass Sie ein paar Änderungen an Ihrem Code zu machen:

  1. Sie die Taste so groß, nicht machen. Selbst auf einem sehr großen Monitor ist ein Knopf mit dieser Größe viel zu viel.
  2. Machen Sie das Fenster nicht so groß. Niemand möchte eine Anwendung, die den gesamten Bildschirm einnimmt. Verwenden Sie .grid anstelle .place. Auf diese Weise können Sie Widgets leichter dort platzieren, wo Sie sie haben möchten.
  3. Legen Sie die Optionen height und width fest, wenn Sie die Schaltfläche erstellen, nicht danach.
  4. Hier müssen Sie sys nicht importieren. Importieren Sie nur, was Sie brauchen.
  5. Importieren Sie nicht so: from tkinter import *. Dadurch werden eine ganze Reihe von Namen im globalen Namespace abgelegt, die leicht überschrieben werden können.

Hier ist meine Version des Skriptes:

import tkinter as tk 

def mmWindow(): 
    mmWindow = tk.Tk() 
    mmWindow.geometry('600x600') 

mWindow = tk.Tk() 
# You can set any size you want 
mWindow.geometry('500x500+0+0') 
mWindow.title('DMX512 Controller') 

wtitle = tk.Label(mWindow, text="Pi DMX", fg='blue') 
wtitle.grid(row=0, column=1) 

# You can set any height and width you want 
mmbutton = tk.Button(mWindow, height=5, width=20, text="Main Menu", command=mmWindow) 
mmbutton.grid(row=1, column=1) 

mWindow.mainloop() 
+0

danke dafür, ich habe nur Ihren Code kopiert und lief es, ich versuchte dann, die Höhe zu ändern, und es ändert sich immer noch nicht die Größe der Schaltfläche wie in der Gliederung bleibt die gleiche Größe, ändert es die Breite, aber nicht die Höhe ....... – user2996828

+0

@ user2996828 - Huh. Nun, ich fürchte, ich weiß nicht, warum das. Der Code, den ich gab, funktioniert auf einem normalen Betriebssystem (Windows, Mac, Linux). Allerdings hast du "Touchscreen" gesagt, was ein Tablet von irgendeiner Art bedeuten würde. Ich habe kein Tablet bei mir, also kann ich keine Fehler beheben. – iCodez

+0

vielleicht ist es mein Setup, ich führe es momentan nicht an ein Touchscreen, nur mein Mac läuft IDLE Python Version 3.3.2 und tk Version 8.5.14, ich dachte es w so bizarr, dass sich die Breite änderte und die Höhe nicht: -s – user2996828