Admiral271
@Admiral271

Python kivy выводит черный экран, что делать?

Написал этот код, но в итоге только черный экран. В чем моя ошибка?
#Импорты

from kivy.app import App

from kivy.lang import Builder

from kivy.uix.boxlayout import BoxLayout

from kivy.properties import StringProperty

from kivy.uix.button import Button

from kivy.uix.textinput import TextInput

from kivy.clock import mainthread

import threading

import socket



#Виджеты

KV = """
MyBL:
    orientation: "vertical"
    size_hint: (0.95,0.95)
    pos_hint: {"center_x":0.5, "center_y":0.5}
    
    Label:
        font_size: "15 sp"
        multiline: True
        text_size: self.width*0.98, None
        size_hint_x: 1.0
        size_hint_y: None
        height: self.texture_size(1) + 15
        text: root.data_label
     
    Button:
        text: "Создать игру"
        bold: True
        background_color: "66CCFF"
        size_hint: (1,0.25)
        on_press: root.callback()
        
    Button:
        text: "Ваши игры"
        bold: True
        background_color: "66CCFF"
        size_hint: (1,0.25)
        on_press: root.callback2()
"""



#Функционал

class MyBL (BoxLayout):
    
    def __init__ (self, **kwargs):
        
        SERVER = "10.8.0.6"
        PORT = 1488
        
        self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        
        self.client.connect((SERVER, PORT))

        self.client.sendall(bytes("979879789", "UTF-8"))
        
        threading.Thread(target = self.get_data).start()
        
    data_label = StringProperty("АПТ Поле Чудес") #Заголовок
    
    def callback(self):
        print("Hello")
        
    def callback2(self):
        print("Hello")
        
    def get_data(self):
        while App.get_running_app().running:
            in_data = self.client.recv(4096)
            print("От сервера :", in_data.decode())
            kkk = in_data.decode()
            self.set_data_label(kkk)
            
    @mainthread
    def set_data_label(self, data):
        self.data_label += str(data) + "\n"
        
        
        
#Запуск и отрисовка приложения
class MyApp (App):
    
    running = True
    
    def build(self):
        return Builder.load_string(KV)
    
    def on_stop(self):
        self.running = False



#Запуск
if __name__ == "__main__":
    MyApp().run()
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы