过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗「建议收藏」

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗

大家好,又见面了,我是全栈君。

前言

在前面已经学习了很多,制作弹窗的方式,但是没有一个透明的弹窗。这次我们来做一个透明的弹窗好了。如图,先来感受一下。

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗「建议收藏」

还记得以前电脑上莫名其妙安装的游戏吗?窗口并不是方形的。以及在双十一左右时,你的电脑会莫名其妙的多一个红包窗口显示在桌面上,那这些是如何实现的呢,我们一起来看一下吧。

目录

前言

隐形弹框

1、创建一个窗口

2、去除标题栏

3、设置窗口透明

4、设置透明度

不规则弹框

不正经的弹窗


隐形弹框

我们需要先来制作一个隐形弹框,一起来参考一下吧。

1、创建一个窗口

tk = tkinter.Tk()
tk.title("窗口")  # 设置窗口名称
tk.geometry("400x420+400+420")
tk.mainloop()

2、去除标题栏

tk.overrideredirect(True)

3、设置窗口透明

tk.wm_attributes('-transparentcolor', 'white')#将白色变为无色

4、设置透明度

tk.attributes("-alpha", 0.3)#设置透明度

最终效果​:千万不要说啥都没有,真的有一个弹框​。

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗「建议收藏」

不规则弹框

在上面估计有人觉得我在忽悠人,那我们在弹框里面加点东西好了​。

import tkinter,time
from tkinter import *
from PIL import ImageTk, Image
​
tk = tkinter.Tk()
tk.title("窗口")  # 设置窗口名称
tk.geometry("400x420+400+420")
tk.overrideredirect(True)
tk.configure(bg="white")
tk.wm_attributes('-transparentcolor', 'white')
# tk.attributes("-alpha", 0.3)#设置透明度
image2 = Image.open("E:\\Figure_1.jpg")
image3 = image2.resize((410, 430))  # 设置图片大小
photo = ImageTk.PhotoImage(image3)  # 引入图片
​
w = tk.winfo_screenwidth()  # 获取屏幕宽
h = tk.winfo_screenheight()  # 获取屏幕高
cn = Canvas(tk, height=w, width=h, bg="white")
cn.pack()
cn.create_image(200, 100, image=photo)
tk.mainloop()

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗「建议收藏」

不正经的弹窗

我们已经搞定了不规则弹窗,再来​介绍一个不正经的弹窗。

import tkinter,time
from tkinter import *
from PIL import ImageTk, Image
​
tk = tkinter.Tk()
tk.title("窗口")  # 设置窗口名称
tk.geometry("400x420+400+420")
tk.overrideredirect(True)
tk.configure(bg="white")
tk.wm_attributes('-transparentcolor', 'white')
tk.attributes("-alpha", 0.3)#设置透明度
​
image1 = Image.open("E:\\install\\user\\flask_web_test\\test\\Figure_1.jpg")  # 打开图片
image = image1.resize((210, 230))  # 设置图片大小
photo = ImageTk.PhotoImage(image)  # 引入图片
​
image2 = Image.open("E:\\install\\user\\flask_web_test\\test\\Figure_1.jpg")
image3 = image2.resize((410, 430))  # 设置图片大小
photo1 = ImageTk.PhotoImage(image3)  # 引入图片
​
w = tk.winfo_screenwidth()  # 获取屏幕宽
h = tk.winfo_screenheight()  # 获取屏幕高
​
cn = Canvas(tk, height=w, width=h, bg="white")
cn.pack()# bg="pink"
a=2
def update_test(e):
    time.sleep(0.2)
    cn.delete(tkinter.ALL)
    tk.update()
    global a
    x = tk.winfo_x()
    y = tk.winfo_y()
    tk.geometry("400x420+%s+%s" % (x, y))
    if a==2:
        cn.create_image(200, 100, image=photo1)
        a=1
    else:
        cn.create_image(200, 100, image=photo)
        a=2
tk.bind("<Configure>", update_test)
tk.mainloop()

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(6)-不正经的隐形弹窗「建议收藏」

我的弹窗对我感到心动​。哈哈,不知道能不能撩妹,有没有撩到你很关键。

相关推荐​:

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)–双向奔赴的火柴人

王者荣耀最低战力查询-王者战区修改

一文带你开始挣取自己的一点睡后收入

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111347.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月21日 上午9:00
下一篇 2022年2月21日 上午10:00


相关推荐

  • 漫画自动下载工具。

    漫画自动下载工具。

    2021年9月17日
    50
  • mysql 10051_Zabix的10051端口无法启动如何解决?

    mysql 10051_Zabix的10051端口无法启动如何解决?启动zabbix是显示启动成功,查看端口,却发现没有10051端口1、查看zabbix的日志[root@bogonldap]#cat/tmp/zabbix_server.log’/var/lib/mysql/mysql.sock'(2)2848:20181204:084007.165databaseisdown:reconnectingin10seconds2848:2018…

    2025年8月4日
    6
  • java 中级面试题_java中级面试题[通俗易懂]

    java 中级面试题_java中级面试题[通俗易懂]本帖最后由唯我独赞mo于2015-11-1222:47编辑1、java中wait和sleep有什么区别?多线程条件下如何保证数据安全?答:最大区别是等待时wait会释放锁,而sleep会一直持有锁,wait通常用于线程时交互,sleep通常被用于暂停执行。2、java中volatile和synchronized有什么区别?1.volatile本质是在告诉jvm当前变量在寄存器(工作内存…

    2022年10月12日
    5
  • C语言小游戏——贪吃蛇—-小白专用

    C语言小游戏——贪吃蛇—-小白专用C语言贪吃蛇小游戏个人小白,后期也做了一些改进,附原视频地址(点击即可)废话在后面直接上程序该程序在VS2019上可完美运行。#include<stdio.h>#include<stdlib.h>#include<Windows.h>#include<time.h>#include<conio.h>constexprautomaphigh=28,mapwide=84;structvirus{ intx;

    2022年5月12日
    49
  • vue项目,如何关闭eslint检测?多种解决办法

    vue项目,如何关闭eslint检测?多种解决办法新版本 vue 项目 如何关闭 eslint 检测一 问题描述二 问题解决 1 首先是比较旧的 vue 项目 2 创建项目的时候 不要选 eslint3 如果你使用的编辑软件是 webstorm4 创建的项目没有 webpack base conf js 文件 但是有 eslintrc js5 比较新的 vue 项目 目录没有 直接 webpack base conf js 文件 但 node module 中可能有 并且也没有 eslintrc js 文件 6 修改 eslintignore 文件一 问题描述我们在开发 vue 项目的时候

    2026年3月18日
    1
  • DEDECMS 留言薄模块的使用方法

    DEDECMS 留言薄模块的使用方法

    2021年9月25日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号