def add_widgets(self, root): self.settings_popup.ok.bind(on_press=self.re_build) page = PageLayout(border=30, swipe_threshold=0.2) p1 = BoxLayout(orientation='horizontal', background_color=[1, 1, 1, 1]) p1.add_widget(self.settings_popup.specimen.eps_sig_wid) p1.add_widget(self.settings_popup.specimen.f_u_wid) page.add_widget(p1) p2 = BoxLayout(orientation='horizontal', background_color=[1, 1, 1, 1]) p2.add_widget(self.settings_popup.specimen.disp_slip_wid) p2.add_widget(self.settings_popup.specimen.shear_flow_wid) page.add_widget(p2) upper = BoxLayout(orientation='horizontal', size_hint=(1, 0.7)) upper.add_widget(page) root.add_widget(upper) btns = BoxLayout(orientation='horizontal', size_hint=(1, 0.1)) settings = Button(text='Settings') settings.bind(on_press=self.settings_popup.open) reset = Button(text='Reset') reset.bind(on_press=self.settings_popup.reset) btns.add_widget(Label()) btns.add_widget(Label()) btns.add_widget(settings) btns.add_widget(reset) root.add_widget(self.settings_popup.specimen) root.add_widget(btns)
if __name__ == '__main__': import random data = {'Col1':[random.random() for x in range(10)], 'Col2':[random.random() for x in range(10)], 'Col3':[random.random() for x in range(10)], 'Col4':[random.random() for x in range(10)], 'Col5':[random.random() for x in range(10)]} from kivy.base import runTouchApp from kivy.uix.pagelayout import PageLayout from kivy.factory import Factory Builder.load_string(""" <Page@AnchorLayout>: canvas.before: Color: rgba: 0, 0, 0, 1 Rectangle: pos: self.pos size: self.size """) pg = PageLayout() staticpage = Factory.Page(name='static') staticpage.add_widget(DataTable(name = 'static', data=data, header_column = 'Col1', header_row = ['Col'+str(x+1) for x in range(5)])) editpage = Factory.Page(name='edit') editpage.add_widget(DataTable(name = 'edit', data=data, header_column = 'Col5', header_row = ['Col'+str(5-x) for x in range(5)], editable = True)) pg.add_widget(staticpage) pg.add_widget(editpage) runTouchApp(pg)
def build(self): self.title = 'Big Bang Factory' #--:Initiating plot pan self.fig, self.ax, self.canvas = self.PlotPan() self.fig0, self.ax0, self.canvas0 = self.PlotPan() #--: Home Page self.img = mpimg.imread('BBF_frontpage.png') self.ax.imshow(self.img) self.anim_running = True self.anim_compare = True self.settings_running = True self.lensing_running = True #--: Widgets btn_user = IconButton(source='./icons/user.png', text='', size_hint_x=None, width=50) btn_user.bind(on_release=self.show_popup_user) btn_sim = IconButton(source='./icons/sim.png', size_hint_x=None, width=50) btn_sim.bind(on_release=self.show_popup_sim) btn_lens = IconButton(source='./icons/lens.png', size_hint_x=None, width=50) btn_lens.bind(on_release=self.lensing_icons) btn_settings = IconButton(source='./icons/settings.png', size_hint_x=None, width=50) btn_settings.bind(on_release=self.settings_icons) btn_home = IconButton(source='./icons/home.png', size_hint_x=None, width=50) btn_home.bind(on_release=self.clean) self.btn_pause = IconButton(source='./icons/pause.png', size_hint_x=None, width=50) self.btn_pause.bind(on_press=self.pause) self.btn_compare = IconButton(source='./icons/compare.ico', size_hint_x=None, width=50) self.btn_compare.bind(on_press=self.compare) self.btn_stop = IconButton(source='./icons/stop.png', size_hint_x=None, width=50) self.btn_stop.bind(on_press=self.sim_stop) self.btn_sim_save = IconButton(source='./icons/save.png', size_hint_x=None, width=50) self.btn_sim_save.bind(on_release=self.save_movie) self.btn_send = IconButton(source='./icons/send.ico', size_hint_x=None, width=50) self.btn_send.bind(on_release=self.send_movie) self.btn_database = IconButton(source='./icons/database.png', size_hint_x=None, width=50) self.btn_database.bind(on_release=self.show_popup_simselect) self.btn_savedir = IconButton(source='./icons/savedir.png', size_hint_x=None, width=50) self.btn_savedir.bind(on_release=self.show_popup_dirselect) self.btn_halo = IconButton(source='./icons/halo.png', size_hint_x=None, width=50) self.btn_halo.bind(on_release=self.HaloLensedImage) self.btn_cluster = IconButton(source='./icons/cluster.gif', size_hint_x=None, width=50) self.btn_cluster.bind(on_release=self.MapLensedImage) self.slider_comdist = Slider(min=0.0, max=100.0, value=10.0, step=10.0, orientation='horizontal', value_track=True, value_track_color=[1, 0, 0, 1], size_hint_x=None, width=150) #--:Page Layout #--- Page 1 Pages = PageLayout(orientation="vertical") self.Box_sim = BoxLayout(orientation="horizontal") self.Box_sim.add_widget(self.canvas) self.label_status = Label(text='Welcome to BBF', size_hint_y=None, height='28dp') self.BigBox_sim = BoxLayout(orientation="vertical") self.BigBox_sim.add_widget(self.Box_sim) self.BigBox_sim.add_widget(self.label_status) Pages.add_widget(self.BigBox_sim) #--- Page 2 self.Settings_Page = GridLayout(cols=1, row_force_default=True, row_default_height=40) self.subSettings_Page = GridLayout(cols=1, row_force_default=True, row_default_height=40) self.Settings_Page.add_widget(btn_user) self.Settings_Page.add_widget(btn_sim) self.Settings_Page.add_widget(btn_lens) self.Settings_Page.add_widget(btn_settings) self.Settings_Page.add_widget(self.btn_send) self.Settings_Page.add_widget(btn_home) self.Box_icons = BoxLayout(orientation='vertical') self.Box_icons.add_widget(self.Settings_Page) self.Box_icons.add_widget(self.subSettings_Page) Pages.add_widget(self.Box_icons) return Pages
class Programx(App): def build(self): self.mainFrame = PageLayout() self.page1BL = BoxLayout() self.page2BL = BoxLayout() #################### PAGE 1 ################################ self.mainFramePG1 = FloatLayout( ) # Elemanların hepsini tutan ana pencere düzenimiz self.login = BoxLayout() self.quit = BoxLayout() self.login_buton = Button(background_color=(.6, .4, .8, 1), text="Login", size_hint=(.2, .1), pos_hint={ 'x': .2, 'y': .44 }) self.quit_buton = Button(background_color=(.6, .4, .8, 1), text="Quit", size_hint=(.2, .1), pos_hint={ 'x': .2, 'y': .56 }) # Şimdi hepsini ana düzene yerleştiriyoruz self.mainFramePG1.add_widget(self.login) self.mainFramePG1.add_widget(self.quit) self.mainFramePG1.add_widget(self.login_buton) self.mainFramePG1.add_widget(self.quit_buton) ################## PAGE 2 ############################## self.mainFramePG2 = BoxLayout( orientation="vertical", size_hint=(.5, .25), pos_hint={ 'x': .15, 'y': .4 }) # Elemanların hepsini tutan ana pencere düzenimiz self.user = BoxLayout() self.password = BoxLayout() self.login = BoxLayout() self.userLabel = Label(text="Username", size_hint=(.4, .95)) self.userInput = TextInput(size_hint=(.6, .95)) self.user.add_widget(self.userLabel) self.user.add_widget(self.userInput) self.passwordLabel = Label(text="Password", size_hint=(.4, .95)) self.passwordInput = TextInput(size_hint=(.6, .95)) self.password.add_widget(self.passwordLabel) self.password.add_widget(self.passwordInput) self.loginLabel = Label(size_hint=(.4, .9)) self.login_buton = Button(background_color=(.6, .4, .8, 1), text="Login", size_hint=(.6, .9)) self.login.add_widget(self.loginLabel) self.login.add_widget(self.login_buton) # Şimdi hepsini ana düzene yerleştiriyoruz self.mainFramePG2.add_widget(self.user) self.mainFramePG2.add_widget(self.password) self.mainFramePG2.add_widget(self.login) self.page1BL.add_widget(self.mainFramePG1) self.page2BL.add_widget(self.mainFramePG2) self.mainFrame.add_widget(self.page1BL) self.mainFrame.add_widget(self.page2BL) return self.mainFrame