我想用按钮制作一个乌龟python'app'。我知道如何制作按钮,但我想在那里制作1个以上的按钮,请不要使用任何大型硬纸板。
我在YouTube上看到了说明并阅读了评论,一个人问了这样的问题,YTBer回答是。您将需要一些类似的东西。我不要铁杆。
...您是对的,当使用2个按钮时它不起作用,我意识到在制作视频后,但是幸运的是我找到了解决方案.......所以它不起作用的原因是因为两个按钮需要turtle.onscreenclick方法来侦听两个对象的方法,并且由于某种原因它无法执行此操作,因此我们可以通过以下方式在类中对其进行硬编码:
import turtle
import time
wn = turtle.Screen()
wn.bgcolor("Green")
wn.setup(700, 700)
wn.tracer(0)
class Button(turtle.Turtle):
def __init__(self,s, text, x, y, w, h, c, i, p, a=None, b2=None):
turtle.Turtle.__init__(self)
self.msg = text
self.x = x
self.y = y
self.pens...
我试图exec()cdlane的代码,但是我得到了
I got a
Traceback (most recent call last):
File "<pyshell#2>", line 60, in <module>
''')
File "<string>", line 51, in <module>
File "<string>", line 10, in __init__
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/turtle.py", line 3816, in __init__
visible=visible)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/turtle.py", line 2557, in __init__
self._update()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/turtle.py", line 2660, in _update
self._update_data()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/turtle.py", line 2646, in _update_data
self.screen._incrementudc()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/turtle.py", line 1292, in _incrementudc
raise Terminator
turtle.Terminator
使用了exec('')命令
答案 0 :(得分:0)
TypeScript Hero
建立在class Button extends React.Component {
state = {
type: 'Accept'
}
types = ["Accept", "Recall", "Start", "Close"];
doCall = (type) => {
// requests here
const nextType = this.types[this.types.indexOf(this.state.type) + 1];
if (nextType) {
this.setState({type: nextType});
} else {
// action you want to do if "Close" is pressed
}
}
render() {
const {type} = this.state;
return (<button
onClick={() => this.doCall(type)}
>
{type}
</button>);
}
}
React.render(<Button />, document.getElementById('app'));
和turtle
之上,因此您可以使用tkinter
和其他小部件并将其添加到画布。
tkinter.Canvas
tkinter.Button
需要父级-这里只能是import turtle
import tkinter as tk
def test1():
print("clicked World")
def test2():
print("clicked World")
canvas = turtle.getcanvas()
parent = canvas.master
button1 = tk.Button(parent, text='Hello', command=test1)
id1 = canvas.create_window((0,0), window=button1)
button2 = tk.Button(parent, text='World', command=test2)
id2 = canvas.create_window((100,0), window=button2)
turtle.done()
。如果您忘记了父母,那么它将创建tkinter的窗口,您将看到两个窗口。
Button
需要不带canvas.master
和参数的函数名称。单击按钮时,它将运行此功能。
command=
还有其他选项,例如()
,Button
等。
background
用于添加任何tkinter的小部件。第一个参数是它在画布上的位置。它还有其他选择。
font
给出了ID,您可以使用该ID删除小部件create_window
或移动它crete_window
Tkinter:Canvas,Button,more widgets
编辑:它创建10个按钮,每个按钮都使用canvas.delete(ID)
为参数分配功能。每个按钮都会更改canvas.move(ID, offset_x, offset_y)
lambda