社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  ikolim  »  全部回复
回复总数  2

更换

_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