久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

      <bdo id='G5mZu'></bdo><ul id='G5mZu'></ul>

    <small id='G5mZu'></small><noframes id='G5mZu'>

  1. <i id='G5mZu'><tr id='G5mZu'><dt id='G5mZu'><q id='G5mZu'><span id='G5mZu'><b id='G5mZu'><form id='G5mZu'><ins id='G5mZu'></ins><ul id='G5mZu'></ul><sub id='G5mZu'></sub></form><legend id='G5mZu'></legend><bdo id='G5mZu'><pre id='G5mZu'><center id='G5mZu'></center></pre></bdo></b><th id='G5mZu'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='G5mZu'><tfoot id='G5mZu'></tfoot><dl id='G5mZu'><fieldset id='G5mZu'></fieldset></dl></div>

    1. <legend id='G5mZu'><style id='G5mZu'><dir id='G5mZu'><q id='G5mZu'></q></dir></style></legend>
    2. <tfoot id='G5mZu'></tfoot>

      Python+kivy+SQLite:如何設置標簽初始值以及如何更新

      Python+kivy+SQLite: How to set label initial value and how to update label text?(Python+kivy+SQLite:如何設置標簽初始值以及如何更新標簽文本?)

        <small id='aniGJ'></small><noframes id='aniGJ'>

        <tfoot id='aniGJ'></tfoot>

          • <i id='aniGJ'><tr id='aniGJ'><dt id='aniGJ'><q id='aniGJ'><span id='aniGJ'><b id='aniGJ'><form id='aniGJ'><ins id='aniGJ'></ins><ul id='aniGJ'></ul><sub id='aniGJ'></sub></form><legend id='aniGJ'></legend><bdo id='aniGJ'><pre id='aniGJ'><center id='aniGJ'></center></pre></bdo></b><th id='aniGJ'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='aniGJ'><tfoot id='aniGJ'></tfoot><dl id='aniGJ'><fieldset id='aniGJ'></fieldset></dl></div>
              <tbody id='aniGJ'></tbody>
              <legend id='aniGJ'><style id='aniGJ'><dir id='aniGJ'><q id='aniGJ'></q></dir></style></legend>
                <bdo id='aniGJ'></bdo><ul id='aniGJ'></ul>

                本文介紹了Python+kivy+SQLite:如何設置標簽初始值以及如何更新標簽文本?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                大家,

                我想使用 kivy+Python 來顯示 db 文件中的項目.

                I want to use kivy+Python to display items from a db file.

                為此,我之前問過一個問題:Python+kivy+SQLite: How一起使用

                To this purpose I have asked a question before: Python+kivy+SQLite: How to use them together

                鏈接中的應用程序包含一個屏幕.它工作得很好.

                The App in the link contains one screen. It works very well.

                今天我已將應用程序更改為 兩個 屏幕.第一屏沒有特殊要求,只是將App引導到第二屏.在 second screen 中有一個 label 和一個 button.通過單擊 button 我想更改 label text.label text 指的是我在上面鏈接中的 db 文件中的 car type.

                Today I have changed the App to two screens. The first screen has no special requirement but to lead the App to the second screen. In the second screen there is a label and a button. By clicking the button I want to have the label text changed. The label text refers to the car type from the db file that I have in the link above.

                對于這兩個屏幕的設計,我有兩個問題:

                For this two screens design, I have two questions:

                問題一:點擊按鈕時如何更新label text?

                我嘗試了兩種方法:

                方法一: self.ids.label.text = str(text)
                它向我顯示了錯誤消息: AttributeError: 'super' object has no attribute '__getattr__' 我用谷歌搜索了很多,但仍然無法理解.

                Method A: self.ids.label.text = str(text)
                It shows me the error message: AttributeError: 'super' object has no attribute '__getattr__' I have googled a lot but still cannot understand.

                方法B: self.ids["label"].text = str(text)它向我顯示錯誤消息: KeyError: 'label' 我很困惑,因為我定義了 label.

                Method B: self.ids["label"].text = str(text) It shows me the error message: KeyError: 'label' I am confused because I have the label defined.

                問題2:如何將label origin text設置為一種車型,這樣每次第二屏顯示時,已經有車型顯示了.

                Question 2: How to set the label origin text to one of the car type, so that everytime the second screen is shown, there is already a car type shown.

                代碼如下:(db文件請參考上面的鏈接)

                Here is the code: (For the db file please refer to the link above.)

                # -*- coding: utf-8 -*-
                from kivy.app import App
                from kivy.base import runTouchApp
                from kivy.lang import Builder
                from kivy.properties import ListProperty
                from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
                from kivy.uix.boxlayout import BoxLayout
                from kivy.uix.gridlayout import GridLayout
                from kivy.uix.floatlayout import FloatLayout
                from kivy.uix.label import Label
                from kivy.uix.widget import Widget
                from kivy.graphics import Rectangle
                from kivy.properties import NumericProperty, StringProperty, BooleanProperty, ListProperty
                from kivy.base import runTouchApp
                from kivy.clock import mainthread
                
                import sqlite3
                import random
                
                class MyScreenManager(ScreenManager):
                
                    def init(self, **kwargs):
                        super().__init__(**kwargs)
                
                        @mainthread  # execute within next frame
                        def delayed():
                            self.load_random_car()
                        delayed()
                
                    def load_random_car(self):
                        conn = sqlite3.connect("C:\test.db")
                        cur = conn.cursor()
                
                        cur.execute("SELECT * FROM Cars ORDER BY RANDOM() LIMIT 1;")
                
                        currentAll = cur.fetchone()
                        conn.close()
                        currentAll = list(currentAll)   # Change it from tuple to list
                
                        print currentAll
                
                        current    = currentAll[1]
                        print current
                        self.ids.label.text = str(current)    # Method A
                #        self.ids["label"].text = str(current) # Method B 
                
                class FirstScreen(Screen):
                    pass
                
                class SecondScreen(Screen):
                    pass
                
                root_widget = Builder.load_string('''
                #:import FadeTransition kivy.uix.screenmanager.FadeTransition
                MyScreenManager:
                    transition: FadeTransition()
                    FirstScreen:
                    SecondScreen:
                
                <FirstScreen>:
                    name: 'first'
                    BoxLayout:
                        orientation: 'vertical'
                        Label:
                            text: "First Screen"
                            font_size: 30
                        Button:
                            text: 'Go to 2nd Screen'
                            font_size: 30
                            on_release:  app.root.current = 'second'
                
                <SecondScreen>:
                    name: 'second'
                    BoxLayout:
                        orientation: 'vertical'
                        Label:
                            id: label
                            text: 'click to get a new car'   # I want its text changed when the button is clicked everytime. And its original text value should be one of the random car type from the db file.
                            font_size: 30
                        Button:
                            text: 'Click to get a random car'
                            font_size: 30
                            on_release:  app.root.load_random_car()
                
                ''')
                
                class ScreenManager(App):
                    def build(self):
                        return root_widget
                
                if __name__ == '__main__':
                    ScreenManager().run()
                

                我從互聯網上閱讀了很多內容,但我無法全部理解.:-(

                I have read a lot from internet, but I cannot understand them all. :-(

                請幫助我更正代碼.非常感謝!

                Please help me to correct the code. Thank you so much!

                推薦答案

                from kivy.app import App
                from kivy.lang import Builder
                from kivy.properties import StringProperty
                from kivy.uix.widget import Widget
                
                Builder.load_string("""
                <ScreenX>
                    BoxLayout:
                        orientation: 'vertical'
                        Label:
                            text: root.label_text
                        Button:
                            text: 'Click Me'
                            on_release: root.on_clicked_button()
                """)
                
                class ScreenX(Widget):
                    label_text = StringProperty("Default Value")
                    def on_clicked_button(self):
                        self.label_text = "New Text!"
                
                
                class MyApp(App):
                    def build(self):
                        return ScreenX()
                
                MyApp().run()
                

                通常是你會這樣做的方式......

                is typically how you would do this ...

                這篇關于Python+kivy+SQLite:如何設置標簽初始值以及如何更新標簽文本?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                Get user#39;s current location using GPS(使用 GPS 獲取用戶的當前位置)
                IllegalArgumentException thrown by requestLocationUpdate()(requestLocationUpdate() 拋出的 IllegalArgumentException)
                How reliable is LocationManager#39;s getLastKnownLocation and how often is it updated?(LocationManager 的 getLastKnownLocation 有多可靠,多久更新一次?)
                How to detect Location Provider ? GPS or Network Provider(如何檢測位置提供者?GPS 或網絡提供商)
                Get current location during app launch(在應用啟動期間獲取當前位置)
                locationManager.getLastKnownLocation() return null(locationManager.getLastKnownLocation() 返回 null)

                  <tbody id='6OWha'></tbody>

                  <small id='6OWha'></small><noframes id='6OWha'>

                  <legend id='6OWha'><style id='6OWha'><dir id='6OWha'><q id='6OWha'></q></dir></style></legend>
                  • <bdo id='6OWha'></bdo><ul id='6OWha'></ul>

                      <i id='6OWha'><tr id='6OWha'><dt id='6OWha'><q id='6OWha'><span id='6OWha'><b id='6OWha'><form id='6OWha'><ins id='6OWha'></ins><ul id='6OWha'></ul><sub id='6OWha'></sub></form><legend id='6OWha'></legend><bdo id='6OWha'><pre id='6OWha'><center id='6OWha'></center></pre></bdo></b><th id='6OWha'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='6OWha'><tfoot id='6OWha'></tfoot><dl id='6OWha'><fieldset id='6OWha'></fieldset></dl></div>

                        • <tfoot id='6OWha'></tfoot>
                          主站蜘蛛池模板: 男人的天堂亚洲 | 国产一区电影 | 九九热这里只有精品在线观看 | 伊人焦久影院 | 色综合成人网 | 亚洲欧美精品 | 伊人网综合| 三级黄色片在线 | 亚洲一区视频在线 | 97色伦网 | 欧美日韩精品影院 | av香蕉| 午夜精品福利视频 | 一区二区三区成人 | 国产视频欧美 | 天天夜天天操 | 超碰伊人 | 国产乱码精品一区二区三区五月婷 | 久www| 久久亚洲免费 | 免费一区 | 亚洲区一区二区 | 久久久国 | 天天干天天干 | 成人久久 | 欧美性吧 | 欧美中文一区 | 不卡在线视频 | 国产美女一区 | 国产91视频播放 | 欧美一级片在线看 | 中文字幕亚洲视频 | 欧美精品成人一区二区三区四区 | 久久久中文| 久久一区二区三区四区五区 | 久久久久国产一区二区三区四区 | 午夜网站视频 | 亚洲毛片在线 | 91xx在线观看| 雨宫琴音一区二区在线 | 国产欧美在线 |