首页 > 其他分享 >代码8

代码8

时间:2024-04-29 15:01:51浏览次数:28  
标签:Canvas randint 代码 random master root self

"""canvas画布"""
from tkinter import *
import random

class Application(Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        # 创建Canvas组件,设置宽度和高度
        self.canvas = Canvas(self, width=400, height=300, bg="white")
        self.canvas.pack()

        # 在Canvas上绘制随机颜色的矩形
        for _ in range(10):
            # 随机生成矩形的坐标和大小
            x1, y1 = random.randint(50, 350), random.randint(50, 250)
            x2, y2 = x1 + random.randint(20, 50), y1 + random.randint(20, 50)
            # 随机生成填充色
            color = "#{:06x}".format(random.randint(0, 0xFFFFFF))
            # 使用create_rectangle方法在Canvas上绘制矩形
            self.canvas.create_rectangle(x1, y1, x2, y2, fill=color)

# 创建主窗口
root = Tk()
root.geometry("400x300+300+300")  # 设置窗口大小和位置
root.title("Canvas画布")  # 设置窗口标题

# 创建Application实例并关联到主窗口
app = Application(master=root)

# 开启主事件循环
root.mainloop()

标签:Canvas,randint,代码,random,master,root,self
From: https://www.cnblogs.com/aihonghua/p/18165715

相关文章

  • 代码9
    """测试pack布局管理"""fromtkinterimport*root=Tk();root.geometry("700x220")#Frame是一个矩形区域,就是用来放置其他子组件f1=Frame(root)f1.pack()f2=Frame(root);f2.pack()btn_text=("流行风","中国风","日......
  • 代码10
    """optionMenu的使用测试"""fromtkinterimport*#创建主窗口root=Tk()root.geometry("200x100")#设置窗口大小#创建一个StringVar变量,用于存储选项菜单当前的值v=StringVar(root)v.set("红花")#设置初始值为"红花"#创建OptionMenu并设......
  • 代码5
    """Text多行输入测试"""#导入tkinter库,这是一个用于创建图形用户界面(GUI)的Python库fromtkinterimport*#导入tkinter库中的messagebox模块,用于显示对话框(虽然在此代码中并未使用到)fromtkinterimportmessagebox#导入webbrowser库,用于在默认浏览器中打开网址impor......
  • 代码6
    """radioButton测试"""fromtkinterimport*fromtkinterimportmessageboxclassApplication(Frame):"""一个用于创建经典GUI程序的类"""def__init__(self,master=None):"""初始化方法......
  • 代码7
    """checkbutton用法"""#导入tkinter库,这是一个用于创建图形用户界面(GUI)的Python库fromtkinterimport*#导入tkinter库中的messagebox模块,用于显示对话框fromtkinterimportmessagebox#定义一个Application类,它继承自tkinter库中的Frame类classApplication(Frame......
  • java代码运行出现DENIED Redis is running in protected mode because protected mode
    这个错误是因为开启了保护模式,导致出错。所以需要关闭redis的保护模式。编辑redis的redis.config  注释bind127.0.0.1 、修改protected-mode为no、修改 daemonize为no然后重启redis ......
  • Godot的游戏开发思考(无代码)
    目录前言GDScriptorC#?C#IOC开发代码和引擎的平衡Godot如何学习多而精炼的小Demo后面的学习的方向Ai绘画和Ai声音的学习前言我断断续续学了快半年的Godot了吧,从去年的Unity事件发生之后开始接触,然后断断续续学到了现在,这里就简单讲讲我对Godot的看法GDScriptorC#?GDScript......
  • 重大更新!开源无代码 / 低代码平台 NocoBase v1.0 正式发布!
    NocoBase是一个极易扩展的开源无代码开发平台。完全掌控,无限扩展,助力你的开发团队快速响应变化,显著降低成本,不必投入几年时间和数百万资金研发,只需要花几分钟部署NocoBase。NocoBase中文官网官方文档在线Demov1.0里程碑历时3年,NocoBase迎来第一次根版本号升级,版本号......
  • 39天【代码随想录算法训练营34期】第九章 动态规划part02(● 62.不同路径 ● 63. 不同
    62.不同路径classSolution:defuniquePaths(self,m:int,n:int)->int:table=[[0]*n]*mforxinrange(n):table[0][x]=1foryinrange(m):table[y][0]=1foryinrange(1,m):......
  • 小程序图片缓存策略(不改代码更换OSS图片)
    昨天,后端给我提了一个问题:他更换了CDN上的图片,但是他打开小程序来看,还是旧图片,他尝试过删除小程序,重新进,还是旧图片。我第一反应是:“你有没有清CDN缓存?“他说:”我在阿里云CDN控制台刷新缓存了,都两三天了,还是旧图片。”(后来我看过刷缓存记录,一天前刚刷的,他夸张了。。。)我说:“那......