首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >object.__init__()只接受一个参数(要初始化的实例)

object.__init__()只接受一个参数(要初始化的实例)
EN

Stack Overflow用户
提问于 2019-09-25 05:45:23
回答 2查看 2.4K关注 0票数 0

我一直在尝试修复这个错误,当我尝试向继承Gridlayout的类添加小部件时,我真的不知道继承widget的类是问题还是gridlayout类,我一直在尝试做许多事情,但没有任何结果,所以我想问一下这是否有解决方案

第一个类是继承小部件的类

代码语言:javascript
运行
AI代码解释
复制
class MyPaintElement(Widget):
def __init__(self, **kwargs):
    super(MyPaintElement, self).__init__(**kwargs)
    self.active = False

def on_touch_down(self, touch):
    # Check if touch event is inside widget
    if self.collide_point(touch.x, touch.y):
        self._draw_rectange()

def on_touch_move(self, touch):
    # Check if touch event is inside widget
    if self.collide_point(touch.x, touch.y):
        # If so, draw rectangle
        self._draw_rectange()

def _draw_rectange(self):
    self.canvas.clear()
    with self.canvas:
        # lets draw a semi-transparent red square
        Color(1, 1, 1, 1, mode='rgba')
        Rectangle(pos=self.pos, size=(self.width*0.9, self.height*0.9))
    self.active = True

def clear(self, color):
    self.canvas.clear()
    with self.canvas:
        if color == "black":
            # lets draw a semi-transparent red square
            Color(0, 0.65, 0.65, 1, mode='rgba')
        else:
            Color(0, 0.2, 0.2, 1, mode='rgba')
        Rectangle(pos=self.pos, size=(self.width*0.9, self.height*0.9))
    self.active = False

def mark(self):
    self._draw_rectange()

第二个类是我在继承GridLayout的"add_widget“部分中调用这个类的地方

代码语言:javascript
运行
AI代码解释
复制
class MyPaintWidget(GridLayout):

CODING_SIZE = 4

def __init__(self, size, **kwargs):
    super(MyPaintWidget, self).__init__(**kwargs)
    self.cols = size
    for index in range(self.cols * self.cols):
        self.add_widget(MyPaintElement())

def clear(self):
    index = 0
    #with self.canvas.before:
    #    Color(0, .1, .3, 1)  # green; colors range from 0-1 instead of 0-255
    #    self.rect = Rectangle(size=self.size,
    #                         pos=self.pos)

    for child in self.children:
        if index % 2:
            child.clear("dark-turquoise")
        else:
            child.clear("black")
        index += 1

def get_pattern(self):
    # Initial pattern is an empty list of integers
    pattern = []
    # Integer representation or first row of pattern (bottom)
    val = 0
    # Counter to obtain integer value from binary row
    count = 1
    # For each MyPaintElement instance, verify if active and
    # add integer value to val depending on its position (count)
    for child in self.children:
        if child.active:
            val += count
        count *= 2
        # If row over, append to pattern array and
        # start encoding new one
        if count == pow(2, MyPaintWidget.CODING_SIZE):
            pattern.append(val)
            val = 0
            count = 1
    return pattern

def draw_pattern(self, pattern):
    """ Draw given pattern in painter"""
    for index in range(len(pattern)):
        # Get children in groups of four (As codification was made by groups of four)
        child_offset = index*MyPaintWidget.CODING_SIZE
        child_set = self.children[child_offset:child_offset+MyPaintWidget.CODING_SIZE]
        # Convert current number of pattern into binary
        format_str = "{0:0"+str(MyPaintWidget.CODING_SIZE)+"b}"
        bin_pattern_element = format_str.format(pattern[index])
        # Traverse binary, mark or clear corresponding child
        for j in range(len(bin_pattern_element)):
            if bin_pattern_element[MyPaintWidget.CODING_SIZE-1-j] == "1":
                child_set[j].mark()
            else:
                if j % 2:
                    child_set[j].clear("dark-turquoise")
                else:
                    child_set[j].clear("black")

最后,它给我的错误是这样的

代码语言:javascript
运行
AI代码解释
复制
File ".\main.py", line 513, in <module>
MyPaintApp().run()
File "C:\PATH\site-packages\kivy\app.py", line 829, in run
root = self.build()
File ".\main.py", line 509, in build
intentions_ui = IntentionsInterface()
File ".\main.py", line 244, in __init__
self.add_widgets_layouts()
File ".\main.py", line 364, in add_widgets_layouts
self.desired_state_panel = GridLayout(cols=1, padding_x = 10, size_hint_y = 1,size_hint_x=0.5)
File "C:\PATH\site-packages\kivy\uix\gridlayout.py", line 256, in __init__
super(GridLayout, self).__init__(**kwargs)
File "C:\PATH\site-packages\kivy\uix\layout.py", line 76, in __init__
super(Layout, self).__init__(**kwargs)
File "C:\PATH\site-packages\kivy\uix\widget.py", line 350, in __init__
super(Widget, self).__init__(**kwargs)
File "kivy\_event.pyx", line 243, in kivy._event.EventDispatcher.__init__
TypeError: object.__init__() takes exactly one argument (the instance to initialize)

所以,我想知道为什么会发生这种情况,我真的很感谢任何建议或建议!

EN

回答 2

Stack Overflow用户

发布于 2019-09-25 06:06:15

我认为网格布局的列没有初始化。

代码语言:javascript
运行
AI代码解释
复制
super(MyPaintWidget, self).__init__(**kwargs)

需要修改为

代码语言:javascript
运行
AI代码解释
复制
super(MyPaintWidget, self).__init__(size)
票数 0
EN

Stack Overflow用户

发布于 2020-03-23 04:47:10

我正在寻找相同的解决方案,但我尝试了不同的“调用”应用程序,它工作。试试这个:

代码语言:javascript
运行
AI代码解释
复制
class MyApp(App):

    def build(self):
        return Label(text='Hello world')

#this is what i call "calling":
if __name__ == '__main__':
    MyApp().run()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58091823

复制
相关文章
【Flutter】底部导航栏实现 ( BottomNavigationBar 底部导航栏 | BottomNavigationBarItem 导航栏条目 | PageView )
Flutter 中的 Scaffold 组件实现了基础的材料设计 ( Material Design ) 可视化布局结构 ;
韩曙亮
2023/03/29
6.5K0
【Flutter】底部导航栏实现 ( BottomNavigationBar 底部导航栏 | BottomNavigationBarItem 导航栏条目 | PageView )
bootstrap 导航栏
<!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <script src="http://code.jquery.com/jquery.js"></script> <script src="js/bootstrap.min.js"></script> </head> <body> <nav class="navbar navbar-default" role="navigation"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#menu"> <span class="sr-only">展开导航</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">网站标题</a> </div> <div class="collapse navbar-collapse" id="menu"> <ul class="nav navbar-nav"> <li class="active"><a href="#">首页</a></li> <li><a href="#">导航标题1</a></li> <li><a href="#">导航标题2</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">下拉菜单 <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">下拉菜单1</a></li> <li class="divider"></li> <li><a href="#">下拉菜单2</a></li> <li class="divider"></li> </ul> </li> </ul> </div> </nav> </body> </html>
用户5760343
2019/07/05
3.6K0
iOS 原生导航栏 修改导航栏文字颜色 大小
// 黑色导航栏 状态栏 self.navigationController.navigationBar.barStyle = UIBarStyleBlack; self.navigationController.navigationBar.barTintColor = [UIColor blackColor]; // 白色文字 // 中间title [self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttr
ppppy
2022/11/15
2.7K0
bootstrap affix 左侧栏导航栏
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Bootstrap 附加导航(Affix)插件</title> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> <style> /* Custom Styles / ul.nav-tabs{ width: 140px; margin-top: 20px; border-radius: 4px; border: 1px solid #ddd; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.067); } ul.nav-tabs li{ margin: 0; border-top: 1px solid #ddd; } ul.nav-tabs li:first-child{ border-top: none; } ul.nav-tabs li a{ margin: 0; padding: 8px 16px; border-radius: 0; } ul.nav-tabs li.active a, ul.nav-tabs li.active a:hover{ color: #fff; background: #0088cc; border: 1px solid #0088cc; } ul.nav-tabs li:first-child a{ border-radius: 4px 4px 0 0; } ul.nav-tabs li:last-child a{ border-radius: 0 0 4px 4px; } ul.nav-tabs.affix{ top: 30px; / Set the top position of pinned element */ } </style> <script> ("#myNav").affix({ offset: { top: 125 } }); }); </script> </head> <body data-spy="scroll" data-target="#myScrollspy"> <div class="container"> <div class="jumbotron"> <h1>Bootstrap Affix</h1> </div> <div class="row"> <div class="col-xs-3" id="myScrollspy"> <ul class="nav nav-tabs nav-stacked" id="myNav"> <li class="active"><a href="#section-1">第一部分</a></li> <li><a href="#section-2">第二部分</a></li> <li><a href="#section-3">第三部分</a></li> <li><a href="#section-4">第四部分</a></li> <li><a href="#section-5">第五部分</a></li> </ul> </div> <div class="col-xs-9"> <h2 id="section-1">第一部分</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestibulum id metus ac nisl bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet elementum vestibulum. Vivamus fermentum in
用户5760343
2019/07/07
3K0
html导航栏自动调间距,HTML CSS导航栏间距[通俗易懂]
我做了一个CSS导航栏,但是在每个“navbar-item”之间,都有一点空间。我不希望那里有任何变化!有没有办法做到这一点,而不改变每个navbar-item的余裕?HTML CSS导航栏间距
全栈程序员站长
2022/09/01
5.7K0
TabLayout用法,android顶部导航栏,android底部导航栏
TabLayout是android.support.design里的一个控件,使用它可以很方便的做出顶部导航和底部导航。类似于这样的,能设置选中时字体的颜色和选中时的图片。
天涯泪小武
2019/01/17
4.3K0
小程序 - 如何自定义导航栏
setStatusBarHeight、setNavBar这两个方法最好写到app.js中,获取好放在app.globalData中,这两个高度可能不止自定义导航栏需要用到。
WahFung
2020/08/24
1.5K0
小程序 - 如何自定义导航栏
html导航栏可以展开的下拉菜单,html导航栏下拉菜单如何制作[通俗易懂]
小编给大家分享一下html导航栏下拉菜单如何制作,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
全栈程序员站长
2022/09/01
9.1K0
bootstrap 导航栏 3
<!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <script src="http://code.jquery.com/jquery.js"></script> <script src="js/bootstrap.min.js"></script> </head> <body> <ul class="nav nav-tabs"> <li class="active"><a href="#">首页</a></li> <li><a href="#">个人设置</a></li> <li><a href="#">消息中心</a></li> </ul> </body> </html>
用户5760343
2019/07/05
2.3K0
html页面缩小导航栏隐藏,html – 导航栏缩放问题[通俗易懂]
我有一个问题,我的导航栏似乎与CSS中的.container缩放.现在,我是一个新手,但我已经尝试搞乱CSS中的值,但无济于事.这是
全栈程序员站长
2022/09/02
4.8K0
bootstrap nav导航栏
<nav class="navbar navbar-default" role="navigation"> <div class="container-fluid"> <div class="navbar-header"> <a class="navbar-brand" href="#">菜鸟教程</a> </div> <div> <ul class="nav navbar-nav"> <li class="active"><a href="#">iOS</a></li> <li><a href="#">SVN</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> Java <b class="caret"></b> </a> <ul class="dropdown-menu"> <li><a href="#">jmeter</a></li> <li><a href="#">EJB</a></li> <li><a href="#">Jasper Report</a></li> <li class="divider"></li> <li><a href="#">分离的链接</a></li> <li class="divider"></li> <li><a href="#">另一个分离的链接</a></li> </ul> </li> </ul> </div> </div> </nav>
用户5760343
2019/07/05
4K0
bootstrap nav导航栏
HTML导航栏制作
注释:加上 target=”_blank” 的话,点击有链接的文字,就会新打开一个标签页,若不加,则在本页面上直接打开链接网页。
全栈程序员站长
2022/09/01
5K0
底部导航栏效果
<template> <view class="me"> 消息列表界面 </view> </template> <script> import wepy from 'wepy'; export default class Me extends wepy.component { components = { } methods = { }; } </script> <template> <view class="me"> 联系人界面
达达前端
2022/04/29
3.9K0
底部导航栏效果
导航栏跳转页面[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139118.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
2.6K0
微信小程序入门《四》实例:导航栏样式、tabBar导航栏
实例内容 导航栏样式设置 tabBar导航栏 实例一:导航栏样式设置 小程序的导航栏样式在app.json中定义。 这里设置导航,背景黑色,文字白色,文字内容测试小程序 app.json内容: { "pages":[ "pages/index/index", "pages/login/login", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"red", "navigationBarBack
极乐君
2018/02/05
3.3K0
微信小程序入门《四》实例:导航栏样式、tabBar导航栏
【CSS】课程网站头部制作 ② ( 导航栏测量 | 导航栏编写 | 代码示例 )
导航栏 最左侧位置 , 距离 logo 盒子 有 70 像素 , 考虑到设置外边距 , 这里将 logo 盒子 与 导航栏之间的距离设置成 60 像素即可 ;
韩曙亮
2023/04/03
4.1K0
【CSS】课程网站头部制作 ② ( 导航栏测量 | 导航栏编写 | 代码示例 )
html 竖排导航条,html 导航栏
$(“#navbar a[href='{ { request.path }}’]”).parent().addClass(“active”)
全栈程序员站长
2022/09/01
3.8K0
安卓10系统如何增加双导航栏
安卓系统默认支持一个导航栏和一个状态栏,有时客户需求双边按键或者三屏分开显示,例如左右显示按键中间为界面显示或者左边显示仪表盘中间显示导航界面右边显示车速时钟等,这种情况使用一个导航栏无法实现。
kaicer
2023/05/24
1.7K14
点击加载更多

相似问题

从导航栏滚动到组件

10

从引导导航栏滚动到元素

10

滚动时将图像从导航栏顶部移动到导航栏

10

如何从底部导航栏移动到活动android

12

将导航栏从右侧移动到左侧

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档