过分了,别人用来做桌面应用开发,这家伙却用来撩妹(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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA 什么是多态?

    JAVA 什么是多态?面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么,什么是多态呢?1.定义:多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象…

    2022年7月8日
    23
  • 持续更新:适合Java初学者2021年最新练手项目!【建议收藏】「建议收藏」

    持续更新:适合Java初学者2021年最新练手项目!【建议收藏】「建议收藏」源码下载(实例一):jsp开发完整的博研图书馆后台管理系统,不使用框架开发的,太完美了http://www.zuidaima.com/share/2358272909446144.htm源码下载(实例二):javaWeb图书馆管理系统源码mysql版本https://download.csdn.net/detail/defonds/7123499源码下载(实例三):GitHub-uboger/LibraryManager:JAVAGUI图书馆管理系统htt…

    2022年7月8日
    31
  • 建立git服务器_git部署代码到服务器

    建立git服务器_git部署代码到服务器参考网上资料搭建git服务器过程记录如下:需求硬件需求:一台Ubuntu或者debian电脑(虚拟机),能通过网络访问到。软件需求:git-core,gitosis,openssh-server,openssh-client安装配置git服务器安装git和openssh:a@server:~$sudoapt-getinstallgit-coreopenssh-servero…

    2022年10月4日
    2
  • 判断一个数是否为素数c#(判断一个数是否为素数的算法)

    C++判断一个数是否为素数算法C++判断一个数是否为素数算法完整源码(定义,实现,main函数测试)C++判断一个数是否为素数算法完整源码(定义,实现,main函数测试)#include<cassert>#include<iostream>template<typenameT>boolis_prime(Tnum){boolresult=true;if(num<=1){return0;

    2022年4月15日
    41
  • linux的traceroute命令详解[通俗易懂]

    linux的traceroute命令详解[通俗易懂]traceroute命令详解traceroute[-46dFITUnrAV][-ffirst_ttl][-ggate,…]       [-idevice][-mmax_ttl][-pport][-ssrc_addr]       [-qnqueries][-Nsqueries][-ttos]       [-lflow_label][-wwait…

    2025年7月4日
    3
  • otn与stn网络_mstp和stn的区别

    otn与stn网络_mstp和stn的区别SDH、MSTP、OTN和PTN的区别和联系看了很多人写的关于SDH、PTN和O…SDH、MSTP、OTN和PTN的区别和联系_信息与通信_工程科技_专业资料。首…SDH与MSTP_信息与通信_工程科技_专业资料。一、判断题(共5道小题,共50.0分)1.以字节交错间插方式构成高阶STM-N(N>1)段开销时,第一个STM-1……MSTP、SDH+ATM、OT…

    2022年10月18日
    2

发表回复

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

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