这是变态的特点
lines=""" GridLayout: name:"{}" rows:1 canvas: Color: rgba:{} Line: points:{} width:5 """line3 = Builder.load_string(lines.format("line3","0.5,0.5,0.3, 1","self.pos[0]-self.size[0],self.pos[1]+30,self.pos[0]+self.size[0],self.pos[1]+300"))
这是完整代码
from kivy.app import Appfrom kivy.lang import Builderfrom kivy.uix.boxlayout import BoxLayoutfrom kivy.uix.button import Buttonfrom kivy.uix.label import Label Builder.load_string(''': orientation: 'vertical' RelativeLayout: name:"index_layout" canvas: Color: rgba: 1,1,1, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"parent_layout" rows:1 GridLayout: name:"left" cols:1 GridLayout: name:"left_1" cols:1 canvas: Color: rgba: 0.5, 1, 1, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"left_2" cols:1 size_hint_y:5 canvas: Color: rgba: 1, 0, 1, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"left_3" cols:1 canvas: Color: rgba: 1, 1, 0.6, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"left_4" cols:1 canvas: Color: rgba: 1, 0.9, 1, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"center" cols:1 size_hint_x:6 GridLayout: name:"center_1" rows:1 canvas: Color: rgba: 1, 0, 1, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"center_2" rows:1 size_hint_y:5 GridLayout: name:"center_3" rows:1 canvas: Color: rgba: 1, 0.5, 0.2, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"center_4" rows:1 canvas: Color: rgba: 1, 0.3, 0.2, 1 Rectangle: pos:self.pos size: self.size GridLayout: name:"right" rows:1 ''')line1=Builder.load_string(""" GridLayout: name:"line1" rows:1 canvas: Color: rgba: 0.5,0.5,0.3, 1 Line: points:self.pos[0],self.pos[1]+30,self.pos[0],self.pos[1]+self.size[1]-30 width:5 """)line2 = Builder.load_string(""" GridLayout: name:"line2" rows:1 canvas: Color: rgba: 0.5,0.5,0.3, 1 Line: points:self.pos[0]-self.size[0],self.pos[1]+30,self.pos[0]+self.size[0],self.pos[1]+30 width:5 """)lines=""" GridLayout: name:"{}" rows:1 canvas: Color: rgba:{} Line: points:{} width:5 """line3 = Builder.load_string(lines.format("line3","0.5,0.5,0.3, 1","self.pos[0]-self.size[0],self.pos[1]+30,self.pos[0]+self.size[0],self.pos[1]+300"))class CameraClick(BoxLayout): passclass TestCamera(App): def build(self): y_labels= ("100", "80","60" , "40", "20","0") x_labels= ("Sur","Fea","Dis","Hap","Sad","Ang","Nat","x","y","z") printer=CameraClick() # 绘制纵坐标 for text in y_labels: printer.children[0].children[0].children[2].children[2].add_widget(Label(text=text)) # 标题 printer.children[0].children[0].children[1].children[3].add_widget(Label(text="title")) # 设置横纵坐标轴刻度 # line1 # 绘制坐标轴 printer.children[0].children[0].children[1].children[2].add_widget(line1) printer.children[0].children[0].children[1].children[2].add_widget(line2) # printer.children[0].children[0].children[1].children[2].add_widget(line3) # 绘制很坐标 for text in x_labels: printer.children[0].children[0].children[1].children[1].add_widget(Label(text=text)) printer.children[0].children[0].children[1].children[0].add_widget(Label(text="title")) return printerif __name__ == '__main__': TestCamera().run()
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did126879