2016-08-31 105 views
0

我想改变我在Tkinter中的按钮的字体大小,所以它不是那么小。有没有人有任何想法,我可以做什么,可能会有我期待的结果?为什么我需要这么多的文本来问一个问题,我可以用简单而简单的方式用较少的文字提问?!我试图改变我的字体大小,它仍然没有影响。我如何改变字体大小?

from Tkinter import * 
from tkFont import * 


class App: 
    def __init__(self): 
     guiWindow = Tkinter.Tk() 
     guiWindow.wm_title("FooBar") 

     # Creates a custom font 
     customFont = Font(size=18) 

     # code to add widgets will go here 
     buttonFrame = Frame() 

     # colors the "ChangeLicense" button 
     color = '#005DA6' 

     # tells licenseChange what to do 
     def openLicenseChange(): 
      print('Change License') 

    #button properties 
     licenseChange = Button(guiWindow, 
           command=openLicenseChange, 
           bd=20, bg=color, font=customFont, 
           text="Change License") 

     buttonFrame.pack(side="top", fill="x") 

     guiWindow.mainloop() 
app=App() 
+0

的可能的复制[如何更改tkinter中使用python的按钮和框架的字体和大小?](http://stackoverflow.com/questions/20588417/how-to-change-font-and-size-of-buttons-and-frame-in -tkinter-using-python) – Li357

+0

我不明白这个问题。你的代码确实创建了一个大字体的按钮。你有什么问题?当我运行你的代码(并且添加'licenseChange.pack()'时,出现一个大的18pt按钮。 –

回答

0

我不熟悉Font,但你可以表示它也使用字符串:UER

customFont = '{} 18' 
+0

我刚刚尝试过,并且产生的结果与默认字体大小相同。 18我把它改成了32,结果还是一样,其他的想法呢? –

+0

我还没有试过你的代码,但是我看到你没有打包licenseChange按钮,你可以试试它... –

+0

嘿,对不起,我只是我注意到,在对字体进行故障排除时,我必须意外删除它。我的问题仍然存在 - 此解决方案是否可以与其他代码片段一起使用,或与您的计算机一起使用我的代码?我可能只是一个不好的编码器(可能是这种情况,因为这只是我第二次或第三次尝试编程)再次感谢您提供的帮助。 –

0

customFont = '{arial} 18' 

对于默认字体当你创建一个tk.button对象,使用字体选项,并将字体样式指定为如下所示的字符串: "Arial 10 Bold"

我用你的代码作为例子,并使字体Arial,大小18,粗体。

from Tkinter import * 
from tkFont import * 


class App: 
    def __init__(self): 
     guiWindow = Tkinter.Tk() 
     guiWindow.wm_title("FooBar") 

     # Creates a custom font 
     customFont = "Arial 18 Bold" 

     # code to add widgets will go here 
     buttonFrame = Frame() 

     # colors the "ChangeLicense" button 
     color = '#005DA6' 

     # tells licenseChange what to do 
     def openLicenseChange(): 
      print('Change License') 

    #button properties 
     licenseChange = Button(guiWindow, 
           command=openLicenseChange, 
           bd=20, bg=color, font=customFont, 
           text="Change License") 

     buttonFrame.pack(side="top", fill="x") 
     licenseChange.pack() 
     guiWindow.mainloop() 
app=App() 

如果不工作,而不是"Arial 18 Bold",尝试在customFont变量引用的每个字在字符串中像这样"'Arial' '18' 'Bold'"

0

您可以创建一个新的字体,然后只用my_widget['font']=my_font,例如出你的代码,将其应用到你的widget:

from Tkinter import * 
from tkFont import * 


class App: 

    def __init__(self): 
     guiWindow = Tkinter.Tk() 
     guiWindow.wm_title("FooBar") 

     # Creates a custom font 
     customFont = Font(size=18) 

     # code to add widgets will go here 
     buttonFrame = Frame() 

     # colors the "ChangeLicense" button 
     color = '#005DA6' 

     # tells licenseChange what to do 
     def openLicenseChange(): 
      print('Change License') 

     # button properties 
     helv36 = Font(family='Helvetica', size=36, weight='bold') 
     licenseChange = Button(guiWindow, 
           command=openLicenseChange, 
           bd=20, bg=color, font=customFont, 
           text="Change License") 
     licenseChange['font'] = helv36 
     buttonFrame.pack(side="top", fill="x") 

     guiWindow.mainloop() 

app = App() 

你可以阅读更多关于tkFont.Font here

+0

我试图通过修改你给我的我代码a它不起作用。然后,我尝试从字面上复制粘贴,但仍然无法使用。我的字体仍然是默认字体。我感谢你的意见,任何其他想法? –

+0

@AveryLipsit你能详细说一点吗?你可以做一个[mcve](http://stackoverflow.com/help/mcve)你的代码,这样我就可以诊断到底发生了什么 – BPL

+0

当然可以!我甚至没有意识到这是一种感谢!一会儿... –

相关问题