久久久久久久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>
                          主站蜘蛛池模板: 国产日韩欧美激情 | 伊人久久伊人 | 国产日韩欧美一区 | 91亚洲视频在线 | 精品视频一区二区 | .国产精品成人自产拍在线观看6 | 国产一区二区精品在线 | 成人国产在线视频 | 久久精品网 | 日本aⅴ中文字幕 | av免费成人| 欧美日韩一区二区视频在线观看 | 毛片电影 | 久久久在线视频 | 国产高清在线精品一区二区三区 | 国产精品不卡一区 | 精品久久99 | 国产99久久精品一区二区永久免费 | 中文字幕乱码视频32 | 欧美激情啪啪 | 欧美性精品 | 亚洲一区二区欧美 | 成人免费在线小视频 | 国产极品粉嫩美女呻吟在线看人 | 91亚洲国产成人久久精品网站 | 91 久久 | 黄色成人免费看 | 国产一级久久久久 | 国产成人一区二区 | 成年人网站国产 | 亚洲xxxxx | 中文字幕在线一 | 欧洲色| 超碰成人在线观看 | 欧美视频在线看 | 91在线视频免费观看 | 国产电影一区二区在线观看 | 亚洲91精品 | 日韩在线免费播放 | 一区二区三区高清 | 国产一区二区三区在线 |