当前位置: 首页 > news >正文

dede织梦仿站网站建设本机网站环境搭建

dede织梦仿站网站建设,本机网站环境搭建,深圳企业医疗网站建设,怎么用ngrok做网站python实现一个浮动窗口随机显示四级单词在桌面跑来跑去 实现一个浮动窗体随机显示四级单词在windows桌面置顶移动 tkinter库来创建窗口和显示单词,以及random库来随机选择单词。 使用after方法来定时更新窗口的位置,实现单词窗口的慢慢移动效果 使用…

python实现一个浮动窗口随机显示四级单词在桌面跑来跑去

实现一个浮动窗体随机显示四级单词在windows桌面置顶移动

tkinter库来创建窗口和显示单词,以及random库来随机选择单词。 使用after方法来定时更新窗口的位置,实现单词窗口的慢慢移动效果

使用pandas读取Excel文件,并将每行的单词和释义对应关系存储在一个字典中

实现鼠标悬停时显示对应的解释,或者直接显示对应解释FloatingWordWindow类中添加一个标签来显示解释,并在鼠标进入标签时更新解释内容

鼠标悬停的时候显示对应的解释,也就是对应键的值 不悬停的时候,不显示解释,返回显示随机单词 wraplength是自动换行

使用虚拟环境执行 E:\pycharm\anaconda\python.exe vocabulary.py

后台执行 E:\pycharm\anaconda\python.exe vocabulary.py & win不可用 在Linux或Mac系统下,你可以使用&符号

在Windows系统下,你可以使用start命令来启动一个新的窗口并在其中运行脚本,然后关闭该窗口,脚本将在后台继续执行。例如:

start /B E:\pycharm\anaconda\python.exe vocabulary.py 也不行

powershell可以

 cd "E:\pythonProject\other"
Start-Process -FilePath "E:\pycharm\anaconda\python.exe" -ArgumentList "vocabulary.py" -WindowStyle Hidden

初始版本

import tkinter as tk
import random
import pandas as pd
​
class FloatingWordWindow:def __init__(self, master):self.master = masterself.master.overrideredirect(True)  # 隐藏标题栏和边框self.master.attributes('-topmost', True)  # 置顶窗口self.master.attributes('-alpha', 0.7)  # 设置透明度self.master.geometry('200x50+100+100')  # 初始位置和大小self.word_label = tk.Label(self.master, font=('Arial', 20))self.word_label.pack(expand=True)self.move_window()
​def move_window(self):x = random.randint(0, self.master.winfo_screenwidth() - self.master.winfo_width())y = random.randint(0, self.master.winfo_screenheight() - self.master.winfo_height())self.master.geometry(f'+{x}+{y}')self.master.after(3000, self.move_window)  # 每隔3秒更新一次位置
​def update_word(self):words = ['apple', 'banana', 'orange', 'grape', 'watermelon']  # 替换为你的四级单词列表df=pd.read_excel("大学英语四级词汇完整版带音标-顺序版.xlsx")# 提取单词和释义列的内容word_column = df.columns[0]  # 第一列是单词列meaning_column = df.columns[1]  # 第二列是释义列# 创建一个字典,将单词和释义对应关系存储起来word_meaning_dict = dict(zip(df[word_column], df[meaning_column]))# 将字典的键转换为列表words_list = list(word_meaning_dict.keys())# 随机选择一个单词random_word = random.choice(words_list)self.word_label.config(text=random_word)# 绑定鼠标悬停事件self.word_label.bind("<Enter>",lambda event, word=random_word: self.show_meaning(event, word, word_meaning_dict))self.word_label.bind("<Leave>", lambda event: self.hide_meaning(random_word))  # 绑定鼠标移出事件self.master.after(3000, self.update_word)  # 每隔3秒更新一次单词def show_meaning(self, event, word, word_meaning_dict):meaning = word_meaning_dict.get(word, "Meaning not found")self.word_label.config(text=f"{meaning}",font=('Arial', 10),wraplength=150)
​def hide_meaning(self,random_word):self.word_label.config(text=random_word,font=('Arial', 20),wraplength=150)  # 清空文本
def main():root = tk.Tk()root.attributes('-toolwindow', True)  # 隐藏任务栏图标root.attributes('-alpha', 0.7)  # 设置透明度root.geometry('200x50+150+150')  # 初始位置和大小app = FloatingWordWindow(root)app.update_word()root.mainloop()
​
if __name__ == '__main__':main()

优化这个代码让excel读取只运行一次

import tkinter as tk
import random
import pandas as pd
​
class FloatingWordWindow:def __init__(self, master):self.master = masterself.master.overrideredirect(True)  # 隐藏标题栏和边框self.master.attributes('-topmost', True)  # 置顶窗口self.master.attributes('-alpha', 0.7)  # 设置透明度self.master.geometry('200x50+100+100')  # 初始位置和大小self.word_label = tk.Label(self.master, font=('Arial', 20))self.word_label.pack(expand=True)self.load_word_meanings()  # 加载单词和释义self.move_window()
​def load_word_meanings(self):df = pd.read_excel("大学英语四级词汇完整版带音标-顺序版.xlsx")self.word_meaning_dict = dict(zip(df[df.columns[0]], df[df.columns[1]]))  # 单词和释义对应的字典
​def move_window(self):x = random.randint(0, self.master.winfo_screenwidth() - self.master.winfo_width())y = random.randint(0, self.master.winfo_screenheight() - self.master.winfo_height())self.master.geometry(f'+{x}+{y}')self.master.after(3000, self.move_window)  # 每隔3秒更新一次位置
​def update_word(self):random_word = random.choice(list(self.word_meaning_dict.keys()))  # 随机选择一个单词self.word_label.config(text=random_word)# 绑定鼠标悬停事件self.word_label.bind("<Enter>",lambda event, word=random_word: self.show_meaning(event, word))self.word_label.bind("<Leave>", lambda event: self.hide_meaning(random_word))  # 绑定鼠标移出事件self.master.after(3000, self.update_word)  # 每隔3秒更新一次单词
​def show_meaning(self, event, word):meaning = self.word_meaning_dict.get(word, "Meaning not found")self.word_label.config(text=f"{meaning}", font=('Arial', 10), wraplength=150)
​def hide_meaning(self, word):self.word_label.config(text=word, font=('Arial', 20), wraplength=150)  # 清空文本
​
def main():root = tk.Tk()root.attributes('-toolwindow', True)  # 隐藏任务栏图标root.attributes('-alpha', 0.7)  # 设置透明度root.geometry('200x50+150+150')  # 初始位置和大小app = FloatingWordWindow(root)app.update_word()root.mainloop()
​
if __name__ == '__main__':main()
​

优化二 悬停显示

import tkinter as tk
import random
import pandas as pd
​
class FloatingWordWindow:def __init__(self, master):self.master = masterself.master.overrideredirect(True)  # 隐藏标题栏和边框self.master.attributes('-topmost', True)  # 置顶窗口self.master.attributes('-alpha', 0.7)  # 设置透明度self.master.geometry('200x50+100+100')  # 初始位置和大小self.word_label = tk.Label(self.master, font=('Arial', 20))self.word_label.pack(expand=True)self.move_window()
​# 读取 Excel 数据self.load_excel_data()
​def move_window(self):x = random.randint(0, self.master.winfo_screenwidth() - self.master.winfo_width())y = random.randint(0, self.master.winfo_screenheight() - self.master.winfo_height())self.master.geometry(f'+{x}+{y}')self.master.after(3000, self.move_window)  # 每隔3秒更新一次位置
​def load_excel_data(self):self.df = pd.read_excel("大学英语四级词汇完整版带音标-顺序版.xlsx")self.word_column = self.df.columns[0]  # 第一列是单词列self.meaning_column = self.df.columns[1]  # 第二列是释义列# 创建一个字典,将单词和释义对应关系存储起来self.word_meaning_dict = dict(zip(self.df[self.word_column], self.df[self.meaning_column]))# 将字典的键转换为列表self.words_list = list(self.word_meaning_dict.keys())
​def update_word(self):# 随机选择一个单词random_word = random.choice(self.words_list)self.word_label.config(text=random_word)# 绑定鼠标悬停事件self.word_label.bind("<Enter>",lambda event, word=random_word: self.show_meaning(event, word))self.word_label.bind("<Leave>", lambda event: self.hide_meaning(random_word))  # 绑定鼠标移出事件self.master.after(3000, self.update_word)  # 每隔3秒更新一次单词
​def show_meaning(self, event, word):meaning = self.word_meaning_dict.get(word, "Meaning not found")self.word_label.config(text=f"{meaning}", font=('Arial', 10), wraplength=150)
​def hide_meaning(self, random_word):self.word_label.config(text=random_word, font=('Arial', 20), wraplength=150)  # 清空文本
​
def main():root = tk.Tk()root.attributes('-toolwindow', True)  # 隐藏任务栏图标root.attributes('-alpha', 0.7)  # 设置透明度root.geometry('200x50+150+150')  # 初始位置和大小app = FloatingWordWindow(root)app.update_word()root.mainloop()
​
if __name__ == '__main__':main()

优化三 直接显示

import tkinter as tk
import random
import pandas as pd
​
class FloatingWordWindow:def __init__(self, master):self.master = masterself.master.overrideredirect(True)  # 隐藏标题栏和边框self.master.attributes('-topmost', True)  # 置顶窗口self.master.attributes('-alpha', 0.7)  # 设置透明度self.word_label = tk.Label(self.master, font=('Arial', 18))self.word_label.pack(expand=True, padx=0, pady=0)self.load_word_meanings()  # 加载单词和释义self.move_window()
​def load_word_meanings(self):df = pd.read_excel("大学英语四级词汇完整版带音标-顺序版.xlsx")self.word_meaning_dict = dict(zip(df[df.columns[0]], df[df.columns[1]]))  # 单词和释义对应的字典
​def move_window(self):x = random.randint(0, self.master.winfo_screenwidth() - self.master.winfo_width())y = random.randint(0, self.master.winfo_screenheight() - self.master.winfo_height())self.master.geometry(f'100x25+{x}+{y}')  # 初始窗口大小为200x50self.master.after(3000, self.move_window)  # 每隔3秒更新一次位置
​def update_word(self):random_word = random.choice(list(self.word_meaning_dict.keys()))  # 随机选择一个单词meaning = self.word_meaning_dict.get(random_word, "Meaning not found")# meaning = meaning.replace("\n", "--")str=random_word+"\n"+meaning;num_newlines = str.count("\n")self.word_label.config(text=random_word+"\n"+meaning,justify="left",padx=0, pady=0) self.word_label.config(height=(num_newlines+1)*25)  # Set height based on number of newlines# 根据单词长度和字体大小调整窗口大小word_length = len(random_word+meaning)font_size = 18window_width = max(18, word_length * font_size)self.master.geometry(f'{window_width}x{(num_newlines+1)*25}')  # 调整窗口宽度# # 绑定鼠标悬停事件# self.master.bind("<Enter>",#                      lambda event, word=random_word: self.show_meaning(event, word))# self.master.bind("<Leave>", lambda event: self.hide_meaning(random_word))  # 绑定鼠标移出事件# # 绑定左键单击事件self.master.bind("<Button-1>", lambda event: self.update_word())self.master.after(3000, self.update_word)  # 每隔3秒更新一次单词
​def show_meaning(self, event, word):meaning = self.word_meaning_dict.get(word, "Meaning not found")meaning = meaning.replace("\n", "--")self.word_label.config(text=f"{meaning}", font=('Arial', 10),padx=0, pady=0)word_length = len(meaning)font_size = 20window_width = max(20, word_length * font_size)self.master.geometry(f'{window_width}x30')  # 调整窗口宽度
​def hide_meaning(self, word):self.word_label.config(text=word, font=('Arial', 20), wraplength=150,padx=0, pady=0)  # 清空文本
​
def main():root = tk.Tk()root.attributes('-toolwindow', True)  # 隐藏任务栏图标root.attributes('-alpha', 0.7)  # 设置透明度app = FloatingWordWindow(root)app.update_word()root.mainloop()
​
if __name__ == '__main__':main()
​

优化四

随机不重复

import tkinter as tk
import random
import pandas as pd
​
class FloatingWordWindow:def __init__(self, master):self.master = masterself.master.overrideredirect(True)  # 隐藏标题栏和边框self.master.attributes('-topmost', True)  # 置顶窗口self.master.attributes('-alpha', 0.7)  # 设置透明度self.word_label = tk.Label(self.master, font=('Arial', 20))self.word_label.pack(expand=True, padx=0, pady=0)self.load_word_meanings()  # 加载单词和释义self.move_window()
​def load_word_meanings(self):df = pd.read_excel("大学英语四级词汇完整版带音标-顺序版.xlsx")self.word_meaning_dict = dict(zip(df[df.columns[0]], df[df.columns[1]]))  # 单词和释义对应的字典self.available_words = list(self.word_meaning_dict.keys())  # 可选择的单词列表
​def move_window(self):x = random.randint(0, self.master.winfo_screenwidth() - self.master.winfo_width())y = random.randint(0, self.master.winfo_screenheight() - self.master.winfo_height())self.master.geometry(f'100x30+{x}+{y}')  # 初始窗口大小为200x50self.master.after(3000, self.move_window)  # 每隔3秒更新一次位置
​def update_word(self):if not self.available_words:  # 如果可选择的单词列表为空,则重新加载self.available_words = list(self.word_meaning_dict.keys())
​random_word = random.choice(self.available_words)  # 从可选择的单词列表中随机选择一个单词self.available_words.remove(random_word)  # 从可选择的单词列表中删除已选择的单词self.word_label.config(text=random_word,padx=0, pady=0)# 根据单词长度和字体大小调整窗口大小word_length = len(random_word)font_size = 20window_width = max(20, word_length * font_size)self.master.geometry(f'{window_width}x30')  # 调整窗口宽度# 绑定鼠标悬停事件self.master.bind("<Enter>",lambda event, word=random_word: self.show_meaning(event, word))self.master.bind("<Leave>", lambda event: self.hide_meaning(random_word))  # 绑定鼠标移出事件# # 绑定左键单击事件self.master.bind("<Button-1>", lambda event: self.update_word())self.master.after(3000, self.update_word)  # 每隔3秒更新一次单词
​def show_meaning(self, event, word):meaning = self.word_meaning_dict.get(word, "Meaning not found")meaning = meaning.replace("\n", "--")word_length = len(meaning)font_size = 11window_width = max(10, word_length * font_size)self.master.geometry(f'{window_width}x30')  # 调整窗口宽度self.word_label.config(text=f"{meaning}", font=('Arial', 10), justify="left", wraplength=999, padx=0, pady=0)
​def hide_meaning(self, word):self.word_label.config(text=word, font=('Arial', 20), wraplength=150,padx=0, pady=0)  # 清空文本
​
def main():root = tk.Tk()root.attributes('-toolwindow', True)  # 隐藏任务栏图标root.attributes('-alpha', 0.7)  # 设置透明度app = FloatingWordWindow(root)app.update_word()root.mainloop()
​
if __name__ == '__main__':main()
​

http://www.yayakq.cn/news/622595/

相关文章:

  • 网站制作手机网络运维工程师求职信
  • 厦门网站推广¥做下拉去118cr在线制作动画的网站
  • 龙岗区住房和建设局网站打不开东莞哪里开发app的
  • 网站优化的重要性阿克苏地区建设局网站
  • 繁体版 企业网站中山市建设局网站
  • 山西本土网站建设html5快速建站
  • 西安做网站哪里好济南做网站最好的单位
  • 网站建设公司接单上海网站搜索排名优化哪家好
  • 深圳企业医疗网站建设wordpress 301代码
  • 个人博客网站搭建店面设计属于什么设计
  • 地方网站系统山东济南网站建设公司哪家好
  • 申请学校网站建设申请书济南市建设局官网
  • 网站建设制作 企业站开发哪家好wordpress添加微信
  • 怎么看别人网站怎么做的优化erp软件有哪些
  • .net网站费用唐山网络运营推广
  • 电梯配件做外贸在哪个网站网站建设话术开场白
  • 长春建设厅官方网站开发购物商城app需要多少钱
  • 广州易网外贸网站建设网站的动画广告横幅怎么做的
  • 泉州企业自助建站博客网站首页设计
  • 建设网站网站名wordpress的hook
  • 免费网站代理访问泛微网络科技有限公司
  • 使用flask做前后端分离的网站网站模板文章资讯
  • 有关天猫网站建设的论文品牌宣传策略
  • 赵公口网站建设公司图盛网站建设
  • 外贸 网站推广在本地怎么做网站
  • 查网站的建站系统seo外贸网站制作
  • 北京大型网站开发久久建筑往
  • 北京市门户网站建设网站的seo方案怎么做
  • 网站优化怎么做 百度文库专业的推广公司
  • 网站死了怎么办石家庄网站建设今天改网名