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

网站服务运营队伍与渠道建设网站 图片水印

网站服务运营队伍与渠道建设,网站 图片水印,建设银行暑期招聘网站,wordpress添加搜索上一篇#xff1a;【Python】使用tkinter设计开发Windows桌面程序记事本#xff08;1#xff09;-CSDN博客 下一篇#xff1a; 作者发炎 此代码模块是继承上一篇文章的代码模块的基础上开始设计开发的。 如果不知道怎么新建记事本项目文件夹#xff0c;请参…上一篇【Python】使用tkinter设计开发Windows桌面程序记事本1-CSDN博客 下一篇 作者发炎 此代码模块是继承上一篇文章的代码模块的基础上开始设计开发的。 如果不知道怎么新建记事本项目文件夹请参考上一篇文章在此我不在复述。 在本篇文章主要完成了改变编辑区字体大小、右侧上下滑块滑动、底侧左右滑块滑动、显示光标在编辑区的位置、以及底部状态栏显示数据更新。 设计步骤 在记事本项目文件夹的code目录下新建本文章要设计开发的代码模块文件记事本功能设计_1.py,如下图 运行结果 代码示例记事本功能设计_1.py 记事本功能设计不足1.底部状态栏的字体缩放百分比不是±10%因为默认10号字体太小了所以我选择了12号字体大小2.底部状态栏不能识别编辑内容编码格式所以一直是UTF-8# 通配符 * __all__ [Notepad_1, FONT_SIZE]# 导入内置模块 import tkinter as tk from tkinter import font# 导入记事本底座模块 from 记事本项目.code.记事本底座 import Notepad_base# 全局变量 # 初始化 FONT_SIZE 12 # 默认字体大小class Notepad_1(Notepad_base): 继承Notepad_base 设计记事本功能 def __init__(self): 重写父类的构造方法 # 调用父类的构造方法super().__init__() 开始对记事本功能进行设计 # 设置文本域与右侧和底部滚动条关联self.text.config(wrapword, xscrollcommandself.bottomScrollbar.set, yscrollcommandself.rightScrollbar.set)# 底侧滚动条与文本域关联self.bottomScrollbar.config(commandself.text.xview)# 右侧滚动条与文本域关联self.rightScrollbar.config(commandself.text.yview)# 隐藏底侧滚动条让其默认勾选上自动换行self.bottomScrollbar.pack_forget()# 设置文本域编辑字体样式以及字体大小self.fontSize tk.IntVar(valueFONT_SIZE)self.setFont font.Font(familyTahoma, sizeself.fontSize.get())self.text.config(fontself.setFont)# 捆绑事件获取Text文本的光标位置self.text.bind(KeyPress, self.cursorPosition) # 键盘按下触发self.text.bind(KeyRelease, self.cursorPosition) # 键盘释放触发self.text.bind(ButtonPress, self.cursorPosition) # 鼠标按下触发self.text.bind(ButtonRelease, self.cursorPosition) # 鼠标释放触发# 自定义注册事件# self.text.event_add(CursorEvent, *(KeyPress, KeyRelease, ButtonPress, ButtonRelease))# self.text.bind(CursorEvent, self.cursorPosition)# 文本域字体大小捆绑事件self.threeViewMenu.entryconfigure(0, commandlambda: self.FontSizeEvent(放大))self.threeViewMenu.entryconfigure(1, commandlambda: self.FontSizeEvent(缩小))self.threeViewMenu.entryconfigure(2, commandlambda: self.FontSizeEvent(默认缩放))# 自定义注册缩放事件ZoomEventself.event_add(ZoomEvent,*(Control-MouseWheel,Control-Key-,Control-Key-,Control-minus,Control-Key-0))# 捆绑自定义注册缩放事件改变字体大小self.bind(ZoomEvent, self.FontSizeEvent) # 鼠标上滚缩小下滚放大# 文本域输入自动换行显隐捆绑事件self.formatMenu.entryconfigure(0, commandself.setWord_wrap)# 文本域底部状态栏显隐捆绑事件self.viewMenu.entryconfigure(1, commandself.setState)# 状态栏更新字体大小百分比def FontSizeEvent(self, event):# 菜单调整字体大小if event 放大:self.event_generate(Control-Key-) # 引起键盘触发事件returnelif event 缩小:self.event_generate(Control-minus) # 引起键盘触发事件returnelif event 默认缩放:self.event_generate(Control-Key-0) # 引起键盘触发事件return# 快捷键调整字体大小# 向下滚动if event.delta 0 or event.keysym minus:# 字体大小范围if self.fontSize.get() 1:return# 缩小字体self.fontSize.set(self.fontSize.get() - 1)print(向上滚动字体大小, self.fontSize.get())# 向上滚动else:# 字体大小范围if self.fontSize.get() FONT_SIZE * 5:return# 放大字体self.fontSize.set(self.fontSize.get() 1)# 恢复默认缩放if event.keysym 0:self.fontSize.set(FONT_SIZE)print(向下滚动字体大小, self.fontSize.get())# 改变字体大小self.setFont.config(sizeself.fontSize.get())# 改变底部显示字体大小百分比self.fontSizeLabel.config(text{:.0%}.format(self.fontSize.get() / FONT_SIZE))# 状态栏获取Text光标位置def cursorPosition(self, event):row, column event.widget.index(insert).split(.)print(光标位置行, row, 列, int(column) 1)self.locationLabel.config(textf 第 {row} 行第 {int(column) 1} 列)# 勾选自动换行显示与否def setWord_wrap(self, eventNone):# 设置自动换行if self.word_wrap.get():# 自动换行设置self.text.config(wrapword)# 移除底部水平滑动条self.bottomScrollbar.pack_forget()# 底部框架没有组件显示时移除if not self.state.get():self.bottomFrame.pack_forget()# 设置取消自动换行else:# 先移除右侧滚动条再显示self.rightScrollbar.pack_forget()# 先移除中间文本域再显示self.text.pack_forget()# 显示底部框架self.bottomFrame.pack(sidetk.BOTTOM, fillboth)# 取消自动换行设置self.text.config(wrapnone)# 显示底部水平滑动条self.bottomScrollbar.pack(fillboth)# 再显示右侧滚动条self.rightScrollbar.pack(sidetk.RIGHT, fillboth)# 再中间文本域self.text.pack(expandTrue, fillboth)# 勾选底部状态栏显示与否def setState(self, eventNone):# 底部显示状态栏if self.state.get():# 先移除右侧滚动条再显示self.rightScrollbar.pack_forget()# 先移除中间文本域再显示self.text.pack_forget()# 显示底部框架self.bottomFrame.pack(sidetk.BOTTOM, fillboth)# 显示状态栏self.stateFrame.pack(sidetk.BOTTOM, fillboth)# 底部移除状态栏else:# 移除状态栏self.stateFrame.pack_forget()# 底部框架没有组件显示时移除if self.word_wrap.get():self.bottomFrame.pack_forget()# 再显示右侧滚动条self.rightScrollbar.pack(sidetk.RIGHT, fillboth)# 再中间文本域self.text.pack(expandTrue, fillboth)# 代码测试 if __name__ __main__:ui Notepad_1() # 实例化记事本UIui.mainloop() # 循环窗口运行 else:print(f导入【{__name__}】) 作者周华 创作日期2024/1/10
http://www.sczhlp.com/news/244859/

相关文章:

  • 昆明网站建设方案外包建设电动车官网
  • 外贸平台哪个网站最好知乎wordpress 让导航悬浮
  • 受欢迎的邯郸网站建设企业网站定制设计公司
  • 标志在线设计网站网络优化分为
  • 欢迎访问中国建设银行官方网站能够做代理的网站有哪些问题
  • wap网站微信一键登录怎么做网站主页
  • Sequence2Sequence - -一叶知秋
  • mysql和java获取经纬度的距离的两种方式
  • 重塑生产力:天翼云全球首发RaaS,开启“机器人即服务”商业时代!
  • Python自然语言处理(NLP)入门
  • 高端网站建设公司有哪些濮阳市平台公司
  • 六安网站建设推荐童装东莞网站建设
  • 网站最上面标题怎么改做网站seo的公司
  • 网站开发pc端和手机端wordpress 首页不显示
  • 朝阳专业网站建设公司wordpress 安装主题 ftp
  • 网站页面组成设计大神云集的网站是
  • 网站可以做外部链接吗用别人的二级域名做网站
  • 中山做网站哪家专业做外贸服装的网站
  • 无锡有人代做淘宝网站吗什么是网络营销常见的手段有哪些
  • 网站后台多附件上传塔罗牌手机网站制作
  • 东营网签查询系统官方网站wordpress创建栏目
  • 谁有可以用的网站网店推广方案策划书
  • 英文seo网站建设临海知名营销型网站建设地址
  • 网站多久被百度收录seo怎么快速提高排名
  • 深圳大型网站建设公司开关网站建设
  • wordpress 三站合一现在能用的网站
  • 济源做网站公司建设 展示型企业网站
  • html5医院网站百度seo系统
  • 深圳企业网站制作设计方案php 手机网站cms系统
  • 长春网站推广方式网络服务公司名字