0

この行を含めると、ScrollView がインポートされたときにアプリケーションがフルスクリーンではなくウィンドウ表示になるなどfrom kivy.uix.scrollview import ScrollView、 の効果が無効になります。Config.set('graphics', 'fullscreen', '1')ScrollView を利用しながらアプリケーションを全画面表示するにはどうすればよいですか? ありがとうございました。

4

1 に答える 1

3

最初に構成を定義する必要があるようです。比較:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import kivy
kivy.require('1.7.1')

from kivy.config import Config
Config.set('graphics', 'fullscreen', 'auto')

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView 

class ImageApp(App):
    def build(self):
        layout = BoxLayout()
        button = Button(text="Exit", size_hint=(None, None))
        layout.add_widget(button)
        button.bind(on_press=exit)
        return layout

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

と:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import kivy
kivy.require('1.7.1')

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView 

from kivy.config import Config
Config.set('graphics', 'fullscreen', 'auto')

class ImageApp(App):
    def build(self):
        layout = BoxLayout()
        button = Button(text="Exit", size_hint=(None, None))
        layout.add_widget(button)
        button.bind(on_press=exit)
        return layout

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

アップデート

この動作を見てみましょう。ScrollViewモジュールには、kivy.metrics.spスクロール距離の計算に使用されるがあります。したがって、実際には、このコードでも全画面表示にはなりません。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import kivy
kivy.require('1.7.1')

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button

from kivy.metrics import sp
val = sp(1)

from kivy.config import Config
Config.set('graphics', 'fullscreen', 'auto')

class ImageApp(App):
    def build(self):
        layout = BoxLayout()
        button = Button(text="Exit", size_hint=(None, None))
        layout.add_widget(button)
        button.bind(on_press=exit)
        return layout

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

kivy.metrics.sp次の定義があります。

from kivy.properties import dpi2px
def sp(value):
    return dpi2px(value, 'sp')

名前が示すように、dpi をピクセルに変換して呼び出しkivy.properties.dpi2pxているため、画面の dpi を計算する必要があります。犯人はここにいるようです。

于 2013-09-27T17:05:40.340 に答える