2014-12-05 149 views
0

我是Python和Kivy的新手,所以我遇到了一些麻煩。Popup和kivy中顯示的已損壞的表格

當我使用kivy彈出與顯示錶(使用「PrettyTable」模塊)我得到這個表的破碎的看法。

Screenshot

我的Python代碼:

from kivy.app import App 
    from kivy.uix.boxlayout import BoxLayout 
    from kivy.uix.popup import Popup 
    from kivy.uix.button import Button 
    from kivy.uix.widget import Widget 
    from prettytable import PrettyTable 

class GeneralForm(BoxLayout): 
    def RUN(self): 

     def TABLE(): 
      x = PrettyTable(["City name", "Area", "Population"]) 
      x.align["City name"] = "l" # Left align city names 
      x.padding_width = 1 # One space between column edges and contents (default) 
      x.add_row(["Adelaide",1295, 1158259]) 
      x.add_row(["Brisbane",5905, 1857594]) 
      return str(x) 


     popup = Popup(title='Test popup', content=Label(text=TABLE()), auto_dismiss=False) 
     popup.open() 


class TimeTable(App): 
    def build(self): 
     return GeneralForm() 

if __name__ == '__main__': 
    TimeTable().run() 

我.kv代碼:

<GeneralForm>: 
    orientation: "vertical" 
    BoxLayout: 
     Button: 
      id: but 
      text: "Show!" 
      on_press: root.RUN() 

回答

0

你的問題是,默認標籤字體不是等寬字體,其中每一個人物都有寬度相同。您可以改爲將font_name property設置爲。可能只是'DroidSansMono'將使用單音字體kivy捆綁包工作。