不要走哦,文章末尾有大礼包免费送给你!

作者都把礼物送你了,给个小小的赞呗~

这个方法我琢磨了好久,因为我的系统是视窗(Linux),想要从网上找到圆角的方法。方法有很多,但只适用于window。没法子,咱找不到,大不了自己做呗。现在,我把我这个方法毫无保留地告诉你,给个赞和收藏打赏打赏呗~

嗯嗯,这个方法要我来说,简直是天下无敌,因为这个方法适用于所有系统!亲测有效

(好吧好吧,圆角只是画出来的,当然通用)

啥?你要效果图?哈,上 图 片 !

【效果示例】

哈哈是不是你们想要的效果?是就看下去吧!

首先,咱们要一张圆角图片,生成网站在下边,非常好用!(建议圆角程度20)

网址:网址https://www.bejson.com/ui/borderradius/

【多说无益,代码伺候!】

class FilletWindowTk(Tk):def __init__(self,**kw):self.GWL_EXSTYLE = -20self.WS_EX_APPWINDOW = 0x00040000self.WS_EX_TOOLWINDOW = 0x00000080super(FilletWindowTk, self).__init__()self.attributes("-transparentcolor","#F0F0F0")self.overrideredirect(True)self.resizable(False,False)self.geometry("800x500+200+200")self.img = PhotoImage(file="background.png")self.label = Label(self,image=self.img,bd=0)self.label.place(x=0,y=0,width=800,height=500)self.label.pack()self.set_app_window(self)def set_app_window(self,root):hwnd = windll.user32.GetParent(root.winfo_id())style = windll.user32.GetWindowLongPtrW(hwnd, self.GWL_EXSTYLE)style = style & ~self.WS_EX_TOOLWINDOWstyle = style | self.WS_EX_APPWINDOWres = windll.user32.SetWindowLongPtrW(hwnd, self.GWL_EXSTYLE, style)# re-assert the new window styleroot.wm_withdraw()root.after(0, lambda: root.wm_deiconify())def iconic(self):self.update_idletasks()self.overrideredirect(False)self.state('iconic')def frame_mapped(self,e):self.update_idletasks()self.overrideredirect(True)self.state('normal')def draw_box_in_take(self):self.label.bind("<Map>", self.frame_mapped)def move_box_screen(self):self.geometry(f"800x500+{int((self.winfo_screenwidth() - 800) / 2)}+{int((self.winfo_screenheight() - 500) / 2)}")self.update()def toplevel_in_window(self):self.attributes("-topmost",1)def while_draw(self):while True:self.update()def have_move_func(self):self.label.bind("<ButtonPress-1>", self.mouse_down)self.label.bind("<ButtonRelease-1>", self.mouse_up)self.label.bind("<B1-Motion>", self.mouse_move)def mouse_down(self, event):self.move_yn = Trueself.mous_x = event.xself.mous_y = event.ydef mouse_up(self, event):self.move_yn = Falsedef mouse_move(self, event):if self.move_yn == True:self.geometry(f'+{event.x_root - self.mous_x}+{event.y_root - self.mous_y}')def update_all_function(self):self.set_app_window(self)self.have_move_func()self.toplevel_in_window()self.draw_box_in_take()self.have_move_func()if __name__ == "__main__":root = FilletWindowTk()root.update_all_function()root.mianloop()

这个是我自己写的一个圆角tk类,继承了原来的Tk类,直接运行时会报错的哈,因为这个有调用图片,下面给出项目样式

-----------------------------------------------------------项目样式----------------------------------------------------------

python项目名:\

        圆角窗口.py  (这个是主窗口,代码都在里边)

        background.png (圆角图片,大小得是800x500)

---------------------------------------------------------------------------------------------------------------------------------

然后呢,效果嘛,就长这样,别问我为什么和上面的不同,问就是,我那个还没做好,代码不好发

【效果图 2】

是不是超级圆润?然后呢,我把那个超级tk类给你,那可是大礼包里的一部分!

《 上  大  礼  包 》:(CSDN下载,作者做的那么辛苦,1积分不过分吧?)

作者真不害臊,两天的事,说得好像做了很久!

网址:下载地址https://download.csdn.net/download/m0_66732591/86737042

———————————————————————————————————————————

谢谢阅读我的文章,你的鼓励是我最大的动力!

本文为 wsw的日常 原创,未经允许,严禁转载!违者必究!

tkinter窗口美化功能介绍 第二章 怎么做圆角窗口相关推荐

  1. tkinter窗口美化功能介绍 第一章 内部美化功能

    今天我教大家做tkinter窗口美化 第一章 · tkinter内部美化功能 窗口透明化 窗口居中 窗口最大最小化 删除窗口标题栏 窗口大小调整的设置 1.窗口透明化 可以通过调整第二个值来设置透明度 ...

  2. ChatGPT功能介绍 ChatGPT都能做什么

    ChatGPT是智能AI程序,它能完成很多领域的内容创作,那么ChatGPT都能做什么呢?请看下面的ChatGPT功能介绍,一起来了解下吧. 完整文档打开姿势:ChatGPT国内使用方式完整文档 Ch ...

  3. 合服 两个服务器都有什么作用,S2赛季转服功能介绍 第二赛季合服转服注意事项...

    三国志战略版将在S2赛季开始后对目前的服务器进行合区操作,而同时在二赛季末还将开启转服功能.那么这些牵扯到账号数据的操作有什么需要我们注意的呢?接下来就让我们了解一下吧. 三国志战略版S2赛季合区须知 ...

  4. 第二章:IEEE2030.5官网相关资料介绍

    第一章:2030.5.CSIP.Rule21简介 and 本项目内容介绍 第二章:IEEE2030.5官网相关资料介绍 第三章:IEEE2030.5文档 第四章:Common Smart Invert ...

  5. 第二章 Qt编程核心技术

    QT编程核心技术介绍 第二章 Qt编程核心技术 Qt/X11与Qt/Embedded版本的Qt类库,尽管类的底层实现有一些细微区别,但类的声明及方法函数是一样的,对于编写Qt应用程序的编程者来说,几乎 ...

  6. STM32学习笔记 第二章 STM32资源介绍

    第二章 STM32资源介绍 2.1 芯片选型 STM32-F1系列(如图2-1): 基础型,主频为72M(内核为cortex-M3),CPU位数=32. 我们所用的芯片是STM32F103vet6 S ...

  7. 《Getting Started with WebRTC》第二章 WebRTC技术介绍

    <Getting Started with WebRTC>第二章 WebRTC技术介绍 本章作WebRTC的技术介绍,主要讲下面的概念:   .  怎样建立P2P的通信   .  有效的信 ...

  8. 『基础教学第二章』MMD基本功能详解-Kinsama

    大家好,本篇教学会对MMD中基本而重要的功能做详细介绍 使用模型:YYB式ENE 第一部分:操作界面 图看不清没关系,我会做详细解释 我们先熟悉一下操作界面                       ...

  9. Django by Example·第二章|Enhancing Your Blog with Advanced Features(为博客系统添加高级功能)@笔记

    Django by Example·第二章|Enhancing Your Blog with Advanced Features(为博客系统添加高级功能)@笔记 这本书的结构确实很不错,如果能够坚持看 ...

最新文章

  1. 自定义Android注解Part3:绑定
  2. EntLib.com Forum – 开源ASP.NET论坛 v4.0(提供源码下载)
  3. 闭包应用之延迟函数setTimeout
  4. N皇后问题12 · N-Queens
  5. R语言时间序列数据应用xts
  6. Linux命令_用户,权限管理
  7. ElasticSearch(1)CentOS安装ElasticSearch测试CRUD
  8. dp交换机命令_H3C-交换机维护命令大全
  9. Activiti6快速入门指南
  10. jquery进度条组件
  11. 常用公差配合表图_车间里常用的机械测量工具竟然这么多?涨知识
  12. QuickTime Component实例
  13. 软件系统设计-1-软件设计原则
  14. python学习之编写学员管理系统
  15. EasyCVR平台如何实现超低延时的安防视频监控直播?
  16. html制作打飞机的游戏,JavaScript 小型打飞机游戏实现原理说明
  17. 关于sp和unity近似的PBR的一篇国外文章
  18. 凸优化基础知识笔记-凸集、凸函数、凸优化问题
  19. javascript学习-canvas
  20. 数据表与简单Java类映射转换

热门文章

  1. 树状数组的进阶运用(Stars 数星星)
  2. 基于python的百度云网盘资源搜索引擎设计架构
  3. marvell raid linux,MARVELL RAID管理软件操作演示
  4. java工程师的自我评价_Java开发工程师-自我评价怎么写(范文)
  5. 联发科MT5592数字电视DTV芯片处理器参数介绍
  6. 一辈子是场修行 短的是旅行 长的是人生
  7. 如何将手机投屏到windows10上?
  8. 《Patterns, Principles, and Pract》— chapter14 Introducing the Domain Modeling Building Blocks
  9. 尚硅谷2020最新版宋红康JVM教程-中篇-第3章类的加载过程(类的生命周期)详解-4-过程三:Initialization(初始化)阶段
  10. UI想设计得好,这几款软件少不了