Python/kivy:AttributeError:“int”对象在Python中没有属性“replace”

2024-04-25 19:20:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个文件测试.py以及试验电压. 当我跑的时候测试.py并在self.abc.text=10中传递数值,则返回错误
文件“/usr/lib/python2.7/dist-packages/kivy/uix”/文本输入.py“,第2930行,在\u set\u文本中 文本=文本。替换(u'\r\n',u'\n') AttributeError:“int”对象没有属性“replace”

如果我传递字符串值,那么它就可以工作了。我认为文本是字符串值,但我不知道什么是数值?在

在测试.py在

import kivy

kivy.require('1.9.0')  # replace with your current kivy version !
import sqlite3 as lite
from kivy.app import App
from kivy.uix.screenmanager import Screen
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import BooleanProperty, ListProperty, StringProperty, ObjectProperty, NumericProperty
from kivy.lang import Builder

from kivy.uix.popup import Popup
from kivy.core.window import Window
from kivy.uix.label import Label
#Window.maximize()
from kivy.clock import Clock
from kivy.uix.treeview import TreeView, TreeViewLabel, TreeViewNode

Window.size = (500, 530)


class GroupScreen(Screen):
    groupName = ObjectProperty(None)
    popup = ObjectProperty(None)
    abc = ObjectProperty(None)

    def display_groups(self, instance):
        self.abc.text=10



class Group(App):


    def build(self):
        self.root = Builder.load_file('test.kv')
        return self.root


if __name__ == '__main__':
    Group().run()

在试验电压在

^{pr2}$

Tags: 文件textfrompy文本importselfnone
2条回答

使用NumericProperty,然后使用str(root.abc),单位为kv。
试试这个例子:

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import NumericProperty


class MyBoxLayout(BoxLayout):

    abc = NumericProperty(0)

    def set_text(self):
        self.abc = 42



KV = """

MyBoxLayout:

    Button:
        text: str(root.abc)
        on_release:
            root.set_text()

"""


class Testapp(App):
    def build(self):
        root = Builder.load_string(KV)
        return root


Testapp().run()

您需要键入self.abc.text = str(rows[1])才能将其作为正确的类型传递。在

希望这有帮助!在

相关问题 更多 >