是否可以使 turtle.Screen() 背景透明?
Is it possible to make turtle.Screen() background transparent?
是否可以使 turtle.Screen()
背景透明?
如果不是那么如何在屏幕上画线?
我想创建一个程序来提示我玩台球游戏。
由于 turtle 是在 tkinter 之上构建的,如果我们使用 嵌入式 turtle,而不是 standalone,那么您可以创建一个transparent turtle window 是你的 Tk 库版本和操作系统平台的函数:
import tkinter as tk
from turtle import RawTurtle, TurtleScreen, ScrolledCanvas
root = tk.Tk()
root.attributes("-alpha", 0.3)
canvas = ScrolledCanvas(root)
canvas.pack()
screen = TurtleScreen(canvas)
turtle = RawTurtle(screen)
turtle.width(10)
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100)
screen.mainloop()
换句话说,"maybe"。
这个答案的本质和@cdlane的答案是一样的:获取对Tk根window的引用,并用myroot.attributes('-alpha', 0.3)
设置它的透明度。 cdlane 的答案通过从 Tk 开始并在构造 TurtleScreen 和 Turtle 之前构造所有必要的 Tk 对象来获得 rootwindow。这个答案从另一端开始:它允许 turtle
初始化它需要的 Tk 对象,并遍历对象引用从 turtle 到 Tk root window.
然后两个答案都设置了 Tk 根 window 的透明度。哪种方法更有用取决于您的用例。
代码(尽量与cdlane的相似):
from turtle import *
turtle = getturtle()
# This does not have to come before the drawing code --
# you can alter window transparency at any moment.
root = (turtle
._screen
.getcanvas()
.winfo_toplevel())
root.attributes('-alpha', 0.3)
turtle.width(10)
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100)
是否可以使 turtle.Screen()
背景透明?
如果不是那么如何在屏幕上画线?
我想创建一个程序来提示我玩台球游戏。
由于 turtle 是在 tkinter 之上构建的,如果我们使用 嵌入式 turtle,而不是 standalone,那么您可以创建一个transparent turtle window 是你的 Tk 库版本和操作系统平台的函数:
import tkinter as tk
from turtle import RawTurtle, TurtleScreen, ScrolledCanvas
root = tk.Tk()
root.attributes("-alpha", 0.3)
canvas = ScrolledCanvas(root)
canvas.pack()
screen = TurtleScreen(canvas)
turtle = RawTurtle(screen)
turtle.width(10)
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100)
screen.mainloop()
换句话说,"maybe"。
这个答案的本质和@cdlane的答案是一样的:获取对Tk根window的引用,并用myroot.attributes('-alpha', 0.3)
设置它的透明度。 cdlane 的答案通过从 Tk 开始并在构造 TurtleScreen 和 Turtle 之前构造所有必要的 Tk 对象来获得 rootwindow。这个答案从另一端开始:它允许 turtle
初始化它需要的 Tk 对象,并遍历对象引用从 turtle 到 Tk root window.
然后两个答案都设置了 Tk 根 window 的透明度。哪种方法更有用取决于您的用例。
代码(尽量与cdlane的相似):
from turtle import *
turtle = getturtle()
# This does not have to come before the drawing code --
# you can alter window transparency at any moment.
root = (turtle
._screen
.getcanvas()
.winfo_toplevel())
root.attributes('-alpha', 0.3)
turtle.width(10)
turtle.penup()
turtle.sety(-100)
turtle.pendown()
turtle.circle(100)