2010-11-22 11 views
3

Ce code fonctionne correctement sous Windows. Sur Mac OS X, il affiche uniquement "Multiple" dans le bouton et tout ce qui dépasse le retour à la ligne est effacé. Je cours Python 2.6.5 sur Mac.Les boutons avec des sauts de ligne ne s'affichent pas correctement sur Mac OS X

import Tkinter as tk 
class App: 
    def __init__(self, master): 
     self.a_button = tk.Button(master, text="Multiple\nLines\nOf Text") 
     self.a_button.pack() 

ROOT = tk.Tk() 
APP = App(ROOT) 
ROOT.mainloop() 

Répondre

4

Les boutons poussoirs natifs Mac ne vous laissent pas faire; ils ont 3 hauteurs prédéfinies pour les différentes tailles de contrôle et c'est tout. D'autres styles de boutons prennent en charge des dimensions arbitraires; une option consiste à utiliser un bouton Tile à la place:

self.a_button = tk.Widget(master, 'ttk::button', 
           dict(text="Multiple\nLines\nOf Text")) 
+0

Je pense que je l'ai eu, merci – jgritty

+0

Cool. Python 2.7/3.1 a un support "réel" de Tile mais ce qui précède devrait fonctionner correctement tant que vous utilisez un Tk assez récent (par exemple OS X 10.6 qui vient avec Tcl/Tk 8.5.7.) –