点击上方"蓝字",关注"Python当打之年"
















2.1 框架结构布局
defcreate_widgets(self):"""创建所有界面组件"""# 创建主框架self.main_frame = ttk.Frame(root, padding="10", style="MainFrame.TFrame")self.main_frame.pack(fill=tk.BOTH, expand=True)self.create_menu()# 创建输入部分self.create_input_section()# 创建样式设置部分self.create_style_section()# 创建词云展示部分self.create_display_section()# 创建按钮和进度部分self.create_button_section()# 定期检查消息队列self.check_queue()2.2 添加菜单
defcreate_menu(self):"""创建菜单系统""" menu_bar = tk.Menu(self.root) file_menu = tk.Menu(menu_bar, tearoff=0) help_menu.add_command(label="联系作者", command=self.about_command) menu_bar.add_cascade(label="帮助", menu=help_menu) self.root.config(menu=menu_bar)defcreate_input_section(self): input_frame = ttk.LabelFrame(self.main_frame, text="输入设置", padding="10", style="Bold.TLabelframe") input_frame.pack(fill=tk.X, pady=(0, 10))# 文本文件选择 ttk.Label(input_frame, text="文本文件:").grid(row=0, column=0, sticky=tk.W, pady=2) ttk.Entry(input_frame, textvariable=self.text_file_path,style='TEntry').grid(row=0, column=1, padx=5, sticky=tk.EW) ttk.Button(input_frame, text="浏览...", command=self.browse_text_file,padding=1).grid(row=0, column=2, padx=5)# 停用词文件选择 ttk.Label(input_frame, text="停用词文件:").grid(row=1, column=0, sticky=tk.W, pady=10) ttk.Entry(input_frame, textvariable=self.stopwords_file_path).grid(row=1, column=1, padx=5, sticky=tk.EW) ttk.Button(input_frame, text="浏览...", command=self.browse_stopwords_file,padding=1).grid(row=1, column=2, padx=5)# 额外停用词 ttk.Label(input_frame, text="额外停用词(逗号分隔):").grid(row=2, column=0, sticky=tk.W, pady=10) ttk.Entry(input_frame, textvariable=self.additional_stopwords).grid(row=2, column=1, columnspan=2, padx=5, sticky=tk.EW)defcreate_style_section(self): style_frame = ttk.LabelFrame(self.main_frame, text="词云样式设置", padding="10", style="Bold.TLabelframe") style_frame.pack(fill=tk.X, pady=(0, 10))# 使用网格布局管理器 style_frame.grid_columnconfigure(1, weight=1) ttk.Label(style_frame, text="背景颜色:").grid(row=0, column=0, sticky=tk.W, pady=2) ttk.Entry(style_frame, textvariable=self.bg_color, width=15).grid(row=0, column=1, sticky=tk.W, padx=5, pady=2) ttk.Label(style_frame, text="高度:").grid(row=0, column=2, sticky=tk.W, pady=2) ttk.Spinbox(style_frame, from_=100, to=2000, textvariable=self.height, width=10).grid(row=0, column=3,sticky=tk.W, padx=5) ttk.Label(style_frame, text="宽度:").grid(row=0, column=4, sticky=tk.W, pady=2) ttk.Spinbox(style_frame, from_=100, to=2000, textvariable=self.width, width=10).grid(row=0, column=5,sticky=tk.W, padx=5)wc = WordCloud( font_path=self.font_path.get() or"simhei.ttf", background_color=self.bg_color.get() orself.white, width=self.width.get(), height=self.height.get(), max_words=self.max_words.get(), min_font_size=self.min_font_size.get(), max_font_size=self.max_font_size.get(), colormap=self.colormap.get(), mask=mask)wc.generate_from_frequencies(word_freq)
以上就是本期为大家整理的全部内容了,喜欢的朋友可以
点赞、点在看
也可以分享让更多人知道。
往期推荐
源码下载 | 【01-50】Pthon可视化系列文章资源(源码+数据)
可视化系统04 | 基于Python的房天下网房屋数据分析预测系统
可视化系统01 | 豆瓣电影Top250数据分析系统+数据库案例
61 | 基于Apriori算法及帕累托算法的超市销售数据分析可视化
56 | 2024年中国500强企业数据分析可视化分析可视化
53 | 基于Lasso回归和随机森林的上海链家二手房房价预测
52 | 基于KNN近邻和随机森林模型对用户转化进行分析与预测
Pandas+Pyecharts | 全国热门旅游景点数据分析可视化
可视化 | 分享一套Flask+Pyecharts可视化模板


