2014-12-05 143 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捆绑包工作。