gpt4 book ai didi

mysql - kivy floatlayoutApp.x 的格式无效

转载 作者:行者123 更新时间:2023-11-29 10:41:26 26 4
gpt4 key购买 nike

我尝试制作一个应用程序,从用户那里获取值并将它们放入 mysql 数据库中,但是当我单击按钮时,它给了我该错误

floatlayoutApp.x has an invalid format (got <__main__.video object at 0x0000000007371BE0>)

我不知道这里出了什么问题,所以我没有尝试其他方法这是我的代码

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column,Integer,String
import sqlalchemy
from kivy.config import Config
Config.set('kivy', 'keyboard_mode', 'systemandmulti')

eng = create_engine('mysql://root:mysql333@localhost:3306/mydb')

Session=sessionmaker(bind = eng)

session = Session()

base=declarative_base()

class video(base):
__tablename__= 'videos_test'
video_id=Column(Integer,primary_key=True)
video_name=Column(String(100),index=True)
video_url=Column(String(255))
base.metadata.create_all(eng)


class floatlayoutApp(FloatLayout):

name=""
url=""

def create_instance(self,name,url):
try:
self.x=video(video_name=self.name,video_url=self.url)
session.add(self.x)
session.commit()
except ValueError as err:
print (err)



class YCEApp(App):
def build(self):
return floatlayoutApp()

YCE=YCEApp()
YCE.run()

这就是我的 kv.file 代码

<CustButton@Button>:
font_size: 32

<FloatLayout>:
id: YCE
display: entry
padding: 10
spacing: 10
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: "image1.jpg"
BoxLayout:
TextInput:
id: entry
font_size: 32
multiline: False
size_hint: .45, .2

CustButton:
size_hint: .45,.2
text:"enter video name"
background_color:1,1,1,1
on_press: root.name = entry.text
CustButton:
text:"enter video url"
size_hint: .45 , .2
pos_hint:{"center_x":.5,"top":1}
on_press: root.url = entry.text
CustButton:
text:"create"
size_hint: .45 , .2
pos_hint:{"center_x":.5,"top":1}
on_press: root.create_instance(root.name,root.url)

我只是不知道问题是什么,我认为问题出在创建实例方法中

最佳答案

我遇到了类似的问题,这是因为我在 numpy 的 float64 dtype 中指定了位置。我需要将其转换为原生 Python 类型(float):

例如,

lpos = np.array([50.0, 40.0])

# Convert lpos back from float64 to float
lpos = [lpos[0].item(), lpos[1].item()]

l = Label(text='hello', pos=lpos)

关于mysql - kivy floatlayoutApp.x 的格式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45397975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com