簡體   English   中英

Kivy圖形未出現在窗口小部件中

[英]Kivy graph doesn't appear in widget

我正在嘗試找到一種將圖形嵌入kivy小部件中的解決方案。 似乎只有一個使用kivy花園圖(正弦波)的示例,而我在自己的應用中難以實現。

這是我正在使用的代碼

#!/usr/bin/kivy
import kivy


from random import random
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.switch import Switch
from kivy.uix.label import Label
from kivy.garden.graph import Graph, MeshLinePlot
from math import sin
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from kivy.graphics import *

from kivy.config import Config
Config.set('graphics', 'width', '800')
Config.set('graphics', 'height', '480')

Builder.load_string("""

<Menuscreen>:
    #Handling the gesture event.
    ScreenManager:
        id: manager
        Screen:
            id: main_screen
            name:'main_screen'
            FloatLayout:

                MyGraph:
                    size_hint: None, None
                    size: 800,600
                    pos: 25,25



""")

class MyGraph(Graph):
    def __init__(self, **kwargs):
        super(MyGraph, self).__init__(**kwargs)
        self.xlabel = 'This is the X axis'
        self.ylabel = 'This is the Y axis'
        self.x_ticks_minor = 5
        self.x_ticks_major = 25
        self.y_ticks_major = 1
        self.y_grid_label = True
        self.x_grid_label = True
        self.x_grid = True
        self.y_grid = True
        self.xmax = 100
        self.xmin = -0
        self.ymin = -1
        self.ymax = 1
        self.plot = MeshLinePlot(color=[1, 0, 0, 1])
        self.plot.points = [(x, sin(x / 10.)) for x in range(0, 100)]
        self.add_plot(self.plot)

class MenuScreen(Screen):
    pass

sm = ScreenManager()
menu_screen = MenuScreen(name='menu')
sm.add_widget(menu_screen)


class TestApp(App):

    def build(self):

        return sm

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

所有的軸標簽似乎都出現了,但是圖中的點卻沒有出現。 有什么我想讓它出現的嗎? 預先感謝您的建議。

Github的Mostafar提出了同樣的問題,感謝@Tshirtman,提供了以下答案:

mostafar於2014年4月27日發表評論,在與@tshirtman聊天后,他發現問題在於stencilbuffer並將圖形模塊的init.py 139行更改為:

self._fbo = Fbo(大小= self.size,with_stencilbuffer = False)

在我的示例中將可見,但是圖的新功能(SmoothLinePlot)將會出現許多問題。

鏈接: https//github.com/kivy-garden/garden.graph/issues/7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM