私信  •  关注

ikolim

ikolim 最近创建的主题
ikolim 最近回复了

更换

_on_keyboard_down(self, instance, keyboard, keycode, text, modifiers):

具有

_on_keyboard_down(self, window, keycode, scancode, text, modifiers):

产量

The keycode 49 have been pressed
 - text is '1'
 - modifiers are []
 - window= <kivy.core.window.window_sdl2.WindowSDL object at 0x7f91dc381180>
 - scancode= 30

The keycode 257 have been pressed
 - text is 'ā'
 - modifiers are []
 - window= <kivy.core.window.window_sdl2.WindowSDL object at 0x7f91dc381180>
 - scancode= 89

The key 258 have been pressed
 - text is 'Ă'
 - modifiers are []
 - window= <kivy.core.window.window_sdl2.WindowSDL object at 0x7f91dc381180>
 - scancode= 90 

按键代码259已按下 -文本为“_” -修饰符是[] -窗口= -扫描码=91

数字键盘

按下数字1的键盘时,键代码为49。

数字键盘

当按下数字键盘时,键盘代码=257表示数字1,键盘代码=258表示数字2,键盘代码=259表示数字3等。

6 年前
回复了 ikolim 创建的主题 » 为什么我的python代码没有显示按钮?

您需要添加一个构造函数来调用 buttons. method.

代码段

类游戏(boxlayout):
布局=方框布局(填充=5,方向=垂直)
颜色=[(1,0,0,1),(0,1,0,1),(1,0,1,1),(0,0,1,1)]
buttonz=('button1'、'button2'、'button3'、'button4')

定义初始化(self,**kwargs):
super(游戏,自我)。初始化(*kwargs)
自锁按钮()
self.add_小部件(self.layout)

定义按钮(自身):
对于范围内的i(len(self.buttonz)):
btn=button(text=self.buttonz[i],background_color=random.choice(self.colors))。
self.layout.add_小部件(btn)
btn.bind(on_press=main.political)
< /代码> 

示例

下面的示例只使用一个boxlayoutwidget作为根。

主要.py

导入Kivy 基维要求(1.10.1) 从kivy.app导入app 从kivy.uix.boxlayout导入boxlayout 从kivy.uix.button导入按钮 随机进口 进口主 类游戏(框布局): 颜色=[(1,0,0,1),(0,1,0,1),(1,0,1,1),(0,0,1,1)] buttonz=('button1'、'button2'、'button3'、'button4') def_uuu init_uuuuu(自我,**kwargs): 超级(游戏,自我)。初始化(*kwargs) self.padding=5 self.orientation=“垂直” 自锁按钮() 定义按钮(自身): 对于范围内的i(len(self.buttonz)): btn=button(text=self.buttonz[i],background_color=random.choice(self.colors))。 self.add_小部件(btn) #btn.bind(on_press=main.political) 主类(应用程序): title='按钮游戏' 定义生成(自身): 返回游戏() 如果“名称”= () < /代码>

输出

例子

以下示例仅使用一个 BoxLayout 小部件作为根。

Me.Py

import kivy
kivy.require('1.10.1')

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
import random
# import main


class Game(BoxLayout):
    colors = [(1, 0, 0, 1), (0, 1, 0, 1), (1, 0, 1, 1), (0, 0, 1, 1)]
    Buttonz = ('Button1', 'Button2', 'Button3', 'Button4')

    def __init__(self, **kwargs):
        super(Game, self).__init__(**kwargs)
        self.padding = 5
        self.orientation = "vertical"
        self.Buttons()

    def Buttons(self):
        for i in range(len(self.Buttonz)):
            btn = Button(text=self.Buttonz[i], background_color=random.choice(self.colors))
            self.add_widget(btn)
            # btn.bind(on_press=main.Political)


class Main(App):
    title = 'ButtonGame'

    def build(self):
        return Game()


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

产量

Result