Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python KivyMD应用程序滚动视图超出边界_Python_Python 3.x_Kivy_Kivy Language - Fatal编程技术网

Python KivyMD应用程序滚动视图超出边界

Python KivyMD应用程序滚动视图超出边界,python,python-3.x,kivy,kivy-language,Python,Python 3.x,Kivy,Kivy Language,我制作了一个kivy应用程序,它从服务器接收消息,将其保存到文本文件中,并将文本文件显示在屏幕上。但是,文本总是超过ScrollView小部件,并进入一些其他小部件,如下图所示 有什么办法解决这个问题吗?任何帮助都将不胜感激。多谢各位 这是我的代码: #待办事项:修复第334行AttributeError #同时移除上传按钮 #错误修复 #Todo:收到的修复消息超出边界错误 从kivy.app导入应用程序 从kivy.lang导入生成器 从kivy.properties导入ObjectPro

我制作了一个kivy应用程序,它从服务器接收消息,将其保存到文本文件中,并将文本文件显示在屏幕上。但是,文本总是超过ScrollView小部件,并进入一些其他小部件,如下图所示

有什么办法解决这个问题吗?任何帮助都将不胜感激。多谢各位

这是我的代码:

#待办事项:修复第334行AttributeError
#同时移除上传按钮
#错误修复
#Todo:收到的修复消息超出边界错误
从kivy.app导入应用程序
从kivy.lang导入生成器
从kivy.properties导入ObjectProperty、StringProperty
从kivy.uix.boxlayout导入boxlayout
从kivy.uix.image导入图像
从kivymd.dialog导入MDDialog
从kivymd.theming导入管理器
从kivymd.navigationdrawer导入NavigationLayout
从kivymd.list导入一个LinearvatarListItem,ILeftBody
从kivymd.toast导入toast
从kivymd.dialog导入MDDialog
从kivy.uix.popup导入弹出窗口
从线程导入线程
导入套接字
sock=socket.socket()
插座连接('127.0.0.1',6818))
sock.sendall(b“添加联系人”)
sock=socket.socket()
插座连接('127.0.0.1',6818))
sock.sendall(b'new llo')
类MyLayout(框布局):
scr\u mngr=ObjectProperty(无)
def检查数据登录(自我):
username=self.scr\u mngr.screen1.username.text
password=self.scr\u mngr.screen1.password.text
打印(用户名)
打印(密码)
如果用户名==“KivyMD”和密码==“kivy”:
self.ids[“错误传递”]。text=“”
自我更改屏幕(“屏幕2”)
其他:
self.ids[“错误传递”].text=“错误的用户名或密码,请重试”
def更改屏幕(自身、屏幕、*args):
self.scr\u mngr.transition.direction='left'
self.scr\u mngr.current=屏幕
def返回对话(自我):
self.scr\u mngr.transition.direction='right'
self.scr\u mngr.current='screen2'
类导航布局(导航布局):
def打印文本(自身):
打印('你好')
def检查数据登录(自我):
username=self.ids.screen1.username.text
password=self.ids.screen1.password.text
打印(用户名)
打印(密码)
如果用户名==“KivyMD”和密码==“kivy”:
线程(target=self.recover\u data).start()
自我更改屏幕(“屏幕2”)
self.ids.errowpass.text=“”
其他:
self.ids.errowpass.text=\
用户名或密码错误,请重试
def恢复_数据(自身):
打印('已开始')
尽管如此:
数据=sock.recv(1024)
data=data.decode()
如果数据:
打印(数据)
data=data.split()
数据=数据[-1]+”:“+”.join(数据[:-1])
r=数据+'\n'
打开('chat1.txt','a+')。写入(r)#修复发送消息时出现的属性错误!!!!!
e=open('chat1.txt','r')。readlines()
self.ids.Chat_String.text='\n\r'.加入(e)
打印(数据)
def更改屏幕(自身、屏幕、*args):
self.ids.scr\u mngr.transition.direction='left'
self.ids.scr\u mngr.current=屏幕
def返回对话(自我):
self.ids.scr\u mngr.transition.direction='right'
self.ids.scr\u mngr.current='screen2'
def注销(自我):
#注销功能,返回屏幕1
self.ids.scr\u mngr.current='screen1'
类上载弹出窗口(弹出窗口):
def加载(自身、路径、选择):
打印(路径、选择)
KV=”“”
#:导入工具栏kivymd.Toolbar.Toolbar
#:导入MDNavigationDrawer kivymd.navigationdrawer.MDNavigationDrawer
#:导入NavigationLayout kivymd.navigationdrawer.NavigationLayout
#:导入NavigationDrawerDivider kivymd.navigationdrawer.NavigationDrawerDivider
#:导入NavigationDrawerToolbar kivymd.navigationdrawer.NavigationDrawerToolbar
#:导入MDTextField kivymd.textfields.MDTextField
#:导入MDSeparator kivymd.card.MDSeparator
#:导入MDThemePicker kivymd.theme\u picker.MDThemePicker
#:导入CardTransition kivy.uix.screenmanager.CardTransition
#:进口工厂kivy.Factory.Factory
:
text:root.text
AvatarSampleWidget:
来源:root.icon
:
id:弹出窗口
标题:“上传”
盒子布局:
FileChooseConView:
id:FileChoose
位置提示x:0.5
位置提示y:0.5
选择时:root.load(FileChoose.path,FileChoose.selection)
MDRaisedButton:
文字:“上传”
文本颜色:(0,0,0,1)
发布时:root.load(FileChoose.path,FileChoose.selection)
发布时:popup.disclose()
MDRaisedButton:
正文:“结束”
文本颜色:(0,0,0,1)
发布时:popup.disclose()
导航单元布局:
id:nav_布局
MDNavigationDrawer:
id:nav_抽屉
drawer_徽标:“logo.png”
导航抽屉工具栏:
标题:“你好”
导航抽屉按钮:
图标:“设置”
文本:“帐户设置”
发布时:root.change\u屏幕(“屏幕3”)
导航抽屉按钮:
图标:“脸”
短信:“朋友”
发布时:root.print\u text()
导航抽屉按钮:
图标:“注销”
文本:“注销”
发布时:root.logout()
导航抽屉录像机:
高度:dp(1)
我的布局:
scr\U mngr:scr\U mngr
方向:“垂直”
屏幕管理器:
转换:CardTransition()
id:scr\U mngr
屏幕1:屏幕1
屏幕:
id:屏幕1
名称:“屏幕1”
用户名:username
密码:密码
盒子布局:
大小提示:无,无
尺寸:dp(520),dp(340)
位置提示:{'cen'
            ScrollView:
                size_hint: (0.85, 0.55)
                pos_hint: {'center_x': .55, 'y': .35}
                
                MDLabel:
                    id: Chat_String
                    font_size: 40