【个人笔记】python界面美化

目录

标题栏美化

样例展示

代码

配套鼠标移动

完整展示


标题栏美化

样例展示
代码
python 复制代码
import tkinter as tk
from tkinter import ttk
from PIL import Image, ImageTk
import subprocess
import sys

def open_buy_quantity():
    window.destroy()
    subprocess.run(["python", "D:/桌面/python项目/软件使用公告.py"])
    sys.exit()

def on_close():
    window.destroy()

def maximize_window():
    window.attributes('-zoomed', True)  # Maximize the window


# 创建主窗口,并设置边框颜色和大小
window = tk.Tk()
window.title('抖音视频批量快删神器')
window.config(bg='black', bd=1)  # 设置窗口背景色为黑色,边框宽度为4
window.overrideredirect(True)  # 隐藏窗口边框
window.geometry('500x400')  # 设置窗口大小为固定值

# 创建标题栏
title_bar = tk.Frame(window, height=30, relief='raised', bg='pink')  # 设置标题栏背景色为黑色
title_bar.pack(fill='x', side='top')

# 添加标题文本
title_label = tk.Label(title_bar, text='抖音视频批量快删神器', font=('宋体', 12, 'bold'), bg='pink', fg='black')  # 设置标题文本背景色为黑色,文本颜色为白色
title_label.pack(side='left', padx=10)

# 添加最小化按钮的自定义图标
minimize_icon = Image.open('q.png')  # 替换为你的最小化按钮图标路径
minimize_icon = minimize_icon.resize((20, 20), Image.LANCZOS)
minimize_photo = ImageTk.PhotoImage(minimize_icon)

# 添加最大化按钮的自定义图标
maximize_icon = Image.open('qq.png')  # 替换为你的最大化按钮图标路径
maximize_icon = maximize_icon.resize((20, 20), Image.LANCZOS)
maximize_photo = ImageTk.PhotoImage(maximize_icon)

# 添加关闭按钮的自定义图标
close_icon = Image.open('qqq.png')  # 替换为你的关闭按钮图标路径
close_icon = close_icon.resize((20, 20), Image.LANCZOS)
close_photo = ImageTk.PhotoImage(close_icon)

# 添加最小化按钮
minimize_button = ttk.Button(title_bar, image=minimize_photo, command=window.iconify, style='Toolbutton')
minimize_button.pack(side='right', padx=5)

# 添加最大化按钮
maximize_button = ttk.Button(title_bar, image=maximize_photo, command=maximize_window, style='Toolbutton')
maximize_button.pack(side='right', padx=5)

# 添加关闭按钮
close_button = ttk.Button(title_bar, image=close_photo, command=on_close, style='Toolbutton')
close_button.pack(side='right', padx=5)

配套鼠标移动

python 复制代码
# 定义鼠标按下事件,用于实现窗口拖动
def on_mouse_down(event):
    global last_x, last_y
    last_x, last_y = event.x, event.y
 
# 定义鼠标移动事件,用于实现窗口拖动
def on_mouse_move(event):
    x, y = event.x_root - last_x, event.y_root - last_y
    window.geometry(f"+{x}+{y}")
 
# 绑定鼠标按下和移动事件
window.bind("<ButtonPress-1>", on_mouse_down)
window.bind("<B1-Motion>", on_mouse_move)

完整展示

相关推荐
程序喵大人1 小时前
【C++进阶】STL容器与迭代器 - 01 STL 容器先解决元素放在哪里
开发语言·c++·stl
cui_ruicheng2 小时前
Python从入门到实战(十六):多进程编程
开发语言·python
wdfk_prog3 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
_Jimmy_3 小时前
FastAPI + SQLAlchemy全局事务管理
python·fastapi
晴空了无痕3 小时前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
用户8356290780513 小时前
如何使用 Python 在 Excel 中添加、编辑和删除超链接
后端·python
神明不懂浪漫3 小时前
【第五章】Java中的继承与多态
java·开发语言
神州世通4 小时前
解密企业通信安全防线:Avaya Aura 三层安全架构深度解析
开发语言·php
AC赳赳老秦5 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
qq_2518364576 小时前
基于java Web 动漫视频网站毕业论文
java·开发语言·前端