[Handbook] Python + Tkinter: 桌面悬浮新闻速览 [ 2 ]
Previous
[Handbook] Python + Tkinter: 桌面悬浮新闻速览
Change
Description
[1] 去除标题栏
[2] 拖拽
[3] 双消息源轮转
[4] 样式更新
enewsbub.py
# -*- coding: utf-8 -*-
"""
@file: enewsbub
@author: MR.N
@created: 2022/10/11 10月
@updated: 2022/10/14 10月
@version: 1.0
@blog: https://blog.csdn.net/qq_21264377
"""
import tkinter as tk
from imageutil import *
from threads import *
class MyWindow:
BUTTON_SIZE_NORMAL = 32
def __init__(self):
self.x = 0
self.y = 0
self.title_clicked = False
self.engine = 0
self.first_load = True
self.sub_queue = []
self.window = tk.Tk()
self.window.title('News!')
self.window.config(bg='#111')
# No title bar
self.window.overrideredirect(True)
self.window.attributes('-topmost', 1)
self.frame_left_bar = tk.Frame(self.window)
self.frame_photo = tk.Frame(self.window)
self.window_width = 0
self.window_height = 0
self.window.geometry(
f'{
M_WIDTH}x{
30}+{
(self.window.winfo_screenwidth() - S_WIDTH) // 2}+{
(self.window.winfo_screenheight() - S_HEIGHT) // 2 - 18}')
# self.window.bind('<Configure>', self.window_resize)
self.window.bind('<B1-Motion>', self.win_motion)
self.window.protocol('WM_DELETE_WINDOW', self.win_quit)
self.window.bind('<Button-1>', self.left_down)
self.bg_thread = MyThread()
self.bg_thread.set_var(self.window)
self.frame = tk.Frame(self.window)
self.frame.config(bg='#FFF')
self.start_button = tk.Button(self.frame, text='Go')
self.start_button.place(x=M_WIDTH - 2 - 3 * self.BUTTON_SIZE_NORMAL, y=0, width