在Python中的GUI中设计Text

文中进行了大量的详细说明

能力有限,简单演示

# Text多行文本框
# Text的主要作用是显示多行文本,还可以显示网页链接、图片、HTML、CSS样式表,添加组件等。
# IDLE就是Text组件构成的

# 使用面向对象的方法,测试Text多行行文本组件
from tkinter import *
import webbrowser

class Application(Frame):
    def __init__(self, master=None):  # 创建构造函数,用于写明变量构造组件对象
        # master初始是设置为空值
        super().__init__(master)  # 调用父类,这里相当于给了Frame
        self.master = master    # 这里的master相当于给自己的这个类
        self.pack()  # 布局管理器,进行放置
        self.createWidget()  # 实现调用

    def createWidget(self):
        self.t1 = Text(root, width=30, height=20, bg='gray')
        # 一个汉字相对于两个字母,一个字母一个字节
        self.t1.pack()
        self.t1.insert(1.0, '123456789\nqwertyui')  # 1.0表示第一行第0列
        self.t1.insert(2.3, '苔花如米小,也学牡丹开。苔花如米小,也学牡丹开。\n')   # 2.3在第二行第三列插入
        self.btn01 =Button(self, text='重复写入文本', command=self.insertText)
        self.btn01.pack(side='left')
        self.btn02 = Button(self, text='返回文本', command=self.returnText)
        self.btn02.pack(side='left')
        self.btn03 = Button(self, text='添加图片', command=self.addImage)
        self.btn03.pack(side='left')
        self.btn04 = Button(self, text='通过tag精确控制文本', command=self.testTag)
        self.btn04.pack(side='left')
        self.btn05 = Button(self, text='添加组件', command=self.addWidget)
        self.btn05.pack(side='left')

    def insertText(self):
        # INSERT 索引表示在光标出插入
        self.t1.insert(INSERT, "jiangli")
        # END索引号表示在最后插入
        self.t1.insert(END, '[jl]')

    def returnText(self):
        # Indexes(索引)是用来指向Text组件中文本的位置,Text的组件索引也是对应实际字符之间的位置
        # 核心:行号以1开始,列号以0开始
        print(self.t1.get(1.2, 1.6))
        self.t1.insert(1.7, '帅')
        print('所有文本内容:\n'+self.t1.get(1.0, END))

    def addImage(self):
        # global photo
        self.photo = PhotoImage(file="imgs/R-C.gif")
        self.t1.image_create(END, image=self.photo)

    def addWidget(self):
        b1 = Button(self.t1, text='xiaoma')
        # 在text创建组件命令
        self.t1.window_create(INSERT, window=b1)

    def testTag(self):
        self.t1.delete(1.0, END)
        self.t1.insert(INSERT, '123123123, 123123123\n123123123\n123123123\nbd')  # 光标处插入
        self.t1.tag_add('good', 1.0, 1.9)  # 增加标记 ,1.0, 1.9开始到结束
        self.t1.tag_config('good', background='red', foreground='yellow')

        self.t1.tag_add('bd', 4.0, 4.2)
        self.t1.tag_config('bd', underline=True)  # underline=True加下滑线
        self.t1.tag_bind('bd', "<Button-1>", self.webshow)  # 绑定该方法webshow

    def webshow(self, event):
        webbrowser.open('http://www.baidu.com')


if __name__ == '__main__':

    root = Tk()
    root.geometry('400x400+300+300')
    root.title("面向对象方法的GUI")
    APP = Application(master=root)  # 创建实例化对象,master是参数

    root.mainloop()

运行结果截图

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python GUI框架,如Tkinter,wxPython或PyQt,来设计GUI程序来连接MySQL数据库。您好!如果您想使用Python连接MySQL数据库并创建GUI界面,可以使用Python的Tkinter库和MySQL的Python Connector模块来实现。 首先,您需要安装Python Connector模块。您可以使用以下命令在命令行安装: ``` pip install mysql-connector-python ``` 接下来,您需要导入必要的模块和库,包括Tkinter、MySQL Connector和tkMessageBox(可选,用于在GUI显示消息框)。 ``` import tkinter as tk import mysql.connector from tkinter import messagebox as mb ``` 然后,您需要连接MySQL数据库。可以使用以下代码: ``` # 连接数据库 mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="yourdatabase" ) # 创建游标 mycursor = mydb.cursor() ``` 接下来,您可以使用Tkinter创建GUI界面。例如,您可以创建一个包含文本框、按钮和标签的窗口,以便用户可以输入查询并从数据库检索数据。 ``` # 创建GUI窗口 root = tk.Tk() root.title("MySQL数据库查询") # 创建文本框和标签 query_label = tk.Label(root, text="查询语句:") query_label.grid(row=0, column=0) query_entry = tk.Entry(root) query_entry.grid(row=0, column=1) # 创建按钮 search_button = tk.Button(root, text="查询", command=search) search_button.grid(row=1, column=0) # 创建结果标签 result_label = tk.Label(root, text="") result_label.grid(row=2, column=0, columnspan=2) ``` 在上面的代码,我们创建了一个名为“MySQL数据库查询”的窗口,并添加了一个文本框、一个标签、一个按钮和一个结果标签。按钮单击后,将调用名为“search”的函数,该函数将从数据库检索数据并在结果标签显示结果。 最后,您可以定义查询函数,以便在用户单击查询按钮时调用。以下是一个示例查询函数: ``` # 查询函数 def search(): # 获取查询语句 query = query_entry.get() # 执行查询 mycursor.execute(query) result = mycursor.fetchall() # 在结果标签显示结果 result_label.config(text=result) ``` 在上面的代码,我们从文本框获取查询语句,执行查询,并将结果显示在结果标签。 这是一个简单的示例,您可以根据需要进行修改和扩展。希望这可以帮助您入门Python连接MySQL数据库和GUI编程!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值