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

python tkinter 使用(八)

python tkinter 使用(八)

本文主要讲下tkinter库中的其他的一些模块,如simpleDialog,scrollerText等.

1: simpleDialog

simpledialog提供一些简单的对话框,用于获取用户输入.

  1. askinteger(title, prompt, **kw):
  2. askfloat(title, prompt, **kw):
  3. askstring(title, prompt, **kw):

title为对话框的标题,prompt为提示信息,**kw为可选参数,用于设置对话框的其他属性.

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
"""
 @Author: zh
 @Time 2023/11/27 上午10:11  .
 @Email: 
 @Describe:
"""
import tkinter as tk
import tkinter.simpledialog as sd
# 创建窗口
root = tk.Tk()
root.title("simpleDialog")
root.geometry("500x500")

def askinteger(event):
    result = sd.askinteger("this is askinteger","content")
    print('simpleDialog',result)

def askfloat(event):
    result = sd.askfloat("this is askfloat","content")
    print('simpleDialog',result)

def askstring(event):
    result = sd.askstring("this is askstring","content")
    print('simpleDialog',result)

#内部会校验输入的内容是否合法
btn = tk.Button(text="askinteger")
btn.bind('<1>',askinteger)
btn.pack()

btn = tk.Button(text="askfloat")
btn.bind('<1>',askfloat)
btn.pack()

btn = tk.Button(text="askstring")
btn.bind('<1>',askstring)
btn.pack()


root.mainloop()

2: colorchooser

tkinter模块内置的颜色选择器,可以让用户选择颜色.

def colorselect():
    color = tk.colorchooser.askcolor()
    print(color)

tk.Button(root, text="colorselect", command=colorselect).pack()

3: scrolledText

tkinter.scrolledText 是一个带有滚动条的多行文本框。它可以用于显示和编辑大量文本.

import tkinter as tk
from tkinter.scrolledtext import ScrolledText

text =ScrolledText(root, width=50, height=10)
text.pack(side=tk.LEFT, expand=True)

def insertScrollText():
    result = sd.askstring("this is askstring", "请输入插入scrollerText的内容")
    text.insert(tk.END,result)

tk.Button(root, text="insert", command=insertScrollText).pack()

ScrolledText小部件的insert()方法向其中添加文本. 具体调用如insertScrollText.

另外可以修改font 属性来设置scrolledText的文字大小,fg来设置文字颜色.

  1. .tag_add(tagname, start, end) :给指定范围内的文本添加标签,其中tagname为标签名,startend为文本范围的起始和结束位置。

  2. tag_remove(tagname, start, end):移除指定范围内的文本标签,其中 tagname为标签名,start和end为文本范围的起始和结束位置。

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
"""
 @Author: zh
 @Time 2023/11/27 上午11:40  .
 @Email: 
 @Describe:
"""
import tkinter as tk
from tkinter.scrolledtext import ScrolledText
# 创建窗口
root = tk.Tk()
root.title("ScrolledText")
root.geometry("500x500")

text2 = ScrolledText(root, width=30, height=10)
text2.grid(column=0, row=0)
text2.insert(tk.INSERT, "Hello, world!")
 # 给"Hello"添加标签
text2.tag_add("tag1",1.0,1.5)
# 设置标签样式
text2.tag_config("tag1",background="green")
# 移除标签
text2.tag_remove("tag1",1.3,1.5)
root.mainloop()
  1. tag_config: 配置指定标签的样式
text =ScrolledText(root, width=30, height=10,font=("Helvetica", 12), fg="blue")
text.pack(side=tk.LEFT, expand=True)
text.tag_config("font", font=("Helvetica", 20))
text.tag_config("color", foreground="red")

def insertScrollText():
    result = sd.askstring("this is askstring", "请输入插入scrollerText的内容")
    text.insert(tk.END, result)
    text.insert(tk.END,result,"font")
    text.insert(tk.END, result, "color")

tk.Button(root, text="insert", command=insertScrollText).pack()

http://www.kler.cn/a/148260.html

相关文章:

  • Redo与Undo的区别:数据库事务的恢复与撤销机制
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-Qwen-Agent深入学习(四)
  • Scala学习记录,case class,迭代器
  • 今日 AI 简报 | 开源 RAG 文本分块库、AI代理自动化软件开发框架、多模态统一生成框架、在线图像背景移除等
  • ubuntu20.04 解决Pytorch默认安装CPU版本的问题
  • 性能优化、安全
  • C++之STL库:string类(用法列举和总结)
  • springboot项目修改项目名称
  • JVM的知识点
  • python:由深浅拷贝谈到变量值的核心区别
  • 【SpringCloud】设计原则之单一职责与服务拆分
  • 如何在Ubuntu系统上安装Node.js
  • HTTP 响应头信息
  • 简易键值对文本解析
  • 面试:Kafka相关问题
  • 力扣104. 二叉树的最大深度
  • 大数据存储技术期中考点梳理
  • 更改QTableWidget的branch展开符样式为“+“加号字符
  • Typora+PicGo+Minio搭建博客图床
  • 每日OJ题_算法_双指针⑧力扣18. 四数之和
  • 还在担心发抖音没素材跟文案?[腾讯云HAI] AIGC带你蹭热度“今年你失去了什么?”
  • Eigen学习(持续更新)
  • freerots启动过程分析(qemu仿真RISC-V架构为例)
  • 【计算机网络学习之路】序列化,反序列化和初识协议
  • ChromeDriver最新版本下载与安装方法
  • 【面试HOT200】滑动窗口篇