简体   繁体   English

如何在Python屏幕上删除Zelle图形文本?

[英]How do I delete Zelle graphics text from the screen in Python?

I would like to delete text that I have graphically displayed so I can write new text without overlap. 我想删除图形显示的文本,这样我就可以写新的文本而不会重叠。 I have included my code below. 我在下面包含了我的代码。 Thank you again for your time. 再次感谢您的宝贵时间。

from graphics import*
import random

# Function for winning
def youwin():
    txt = Text(Point(250,100), "You are a Winner!")
    txt.setTextColor(color_rgb(0,255,200))
    txt.setSize(30)
    txt.setFace('courier')
    txt.draw(win)

# Function for losing    
def youlose():

txt= Text(Point(250,100), "You are a Loser!")
txt.setTextColor(color_rgb(0,255,0))
txt.setSize(30)
txt.setFace('courier')
txt.draw(win)


# Sets a Window
win = GraphWin("My Window", 800, 600)
win.setBackground('White')

# loops 10 Times and picks out 3 random gif's.
# Then displays each image on the screen in a row.

for x in range(10):

cards = ["1.png","2.png","3.png"]
rand_card1 = random.choice(cards)      
img1 = Image(Point(100, 250), rand_card1)
rand_card2 = random.choice(cards)
img2 = Image(Point(300, 250), rand_card2)
rand_card3 = random.choice(cards)
img3 = Image(Point(500, 250), rand_card3)


img1.draw(win) 
img2.draw(win)
img3.draw(win)

# checks to see if you are a winner

if rand_card1 == rand_card2 and rand_card2 == rand_card3:
    youwin()
else:
    youlose()


# waits for a mouse click.  In the future this will be a button.    
win.getMouse()    
img1.undraw()
img2.undraw()
img3.undraw()



#win.close()#    

This is the output I currently get: 这是我当前得到的输出:

双文本输出到屏幕

I think you might want to somehow clear your drawing area before you draw new text there. 我认为您可能想在此处绘制新文本之前先清除绘图区域。 One approach to this would be to draw a rectangle over your old text which is the same color as the background. 一种解决方法是在您的旧文本上绘制一个与背景颜色相同的矩形。

I would like to delete text that I have graphically displayed so I can write new text 我想删除图形显示的文本,以便可以编写新文本

Don't. 别。 You can reuse the text object via setText() . 您可以通过setText()重用文本对象。 A simple example: 一个简单的例子:

import time  # just for demonstration
from graphics import *

win = GraphWin("My Window", 800, 600)

txt = Text(Point(250,100), "You are a Loser!")
txt.setSize(30)
txt.draw(win)

time.sleep(3)

txt.setText("You are a Winner!")

time.sleep(3)

If you want the text to disappear for a time, just txt.setText('') until you need it again. 如果您希望文本消失一段时间,只需txt.setText('')直到再次需要它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM