TK 编写一个有滚轮的文本框,点击按钮后在文本框写入数据,且文本框不能人为输入数据
时间: 2023-12-03 16:43:50 浏览: 102
以下是一个简单的示例代码,使用 Python 的 tkinter 库实现:
```python
import tkinter as tk
def insert_text():
text.config(state='normal')
text.insert(tk.END, 'Hello, world!\n')
text.config(state='disabled')
root = tk.Tk()
root.title('滚轮文本框示例')
# 创建滚动条和文本框
scrollbar = tk.Scrollbar(root)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
text = tk.Text(root, wrap=tk.WORD, yscrollcommand=scrollbar.set)
text.pack(expand=True, fill=tk.BOTH)
scrollbar.config(command=text.yview)
# 创建按钮
button = tk.Button(root, text='插入文本', command=insert_text)
button.pack()
# 禁用文本框,防止人为输入数据
text.config(state='disabled')
root.mainloop()
```
这个程序创建了一个带有滚轮的文本框和一个按钮。当点击按钮时,程序会向文本框中插入一行文本,并禁用文本框,以防止人为输入数据。
相关问题
TK 编写一个有滚轮的文本框,点击按钮后在文本框写入数据
可以使用tkinter库中的ScrolledText组件来实现带滚轮的文本框,然后再添加一个按钮,点击按钮后在文本框中写入数据。以下是示例代码:
```python
import tkinter as tk
from tkinter.scrolledtext import ScrolledText
def write_to_textbox():
text_box.insert(tk.END, "Hello, World!\n") # 在文本框末尾插入数据
root = tk.Tk()
# 创建带滚轮的文本框
text_box = ScrolledText(root, width=30, height=10)
text_box.pack()
# 创建按钮,并绑定事件处理函数
button = tk.Button(root, text="写入数据", command=write_to_textbox)
button.pack()
root.mainloop()
```
在这个例子中,我们首先创建了一个带滚轮的文本框,然后创建了一个按钮,并将其绑定到一个名为`write_to_textbox`的事件处理函数。当用户点击按钮时,该函数将在文本框中写入一条消息。注意,我们使用`text_box.insert(tk.END, ...)`方法将数据插入到文本框的末尾,这样新的消息就不会覆盖之前的消息。
1.利用 Tkinter 编程设计界面,编写一个计算器程序。窗口有三个文本框,四个按钮,四个按钮分别为+、一、*、,在前两个文本框中输入数据,单击按钮,在第三个文本框中显示相应的计算结果,除数为口时,显示 NON。
好的,我可以为您编写这个计算器程序。以下是代码:
```python
import tkinter as tk
def calculate():
try:
num1 = float(entry1.get())
num2 = float(entry2.get())
if num2 == 0:
result.set("NON")
else:
if operator.get() == "+":
result.set(num1 + num2)
elif operator.get() == "-":
result.set(num1 - num2)
elif operator.get() == "*":
result.set(num1 * num2)
elif operator.get() == "/":
result.set(num1 / num2)
except ValueError:
result.set("ERROR")
root = tk.Tk()
root.title("Calculator")
label1 = tk.Label(root, text="Num1:")
label1.grid(row=0, column=0)
entry1 = tk.Entry(root)
entry1.grid(row=0, column=1)
label2 = tk.Label(root, text="Num2:")
label2.grid(row=1, column=0)
entry2 = tk.Entry(root)
entry2.grid(row=1, column=1)
operator = tk.StringVar()
operator.set("+")
add_button = tk.Radiobutton(root, text="+", variable=operator, value="+")
add_button.grid(row=2, column=0)
sub_button = tk.Radiobutton(root, text="-", variable=operator, value="-")
sub_button.grid(row=2, column=1)
mul_button = tk.Radiobutton(root, text="*", variable=operator, value="*")
mul_button.grid(row=3, column=0)
div_button = tk.Radiobutton(root, text="/", variable=operator, value="/")
div_button.grid(row=3, column=1)
calculate_button = tk.Button(root, text="Calculate", command=calculate)
calculate_button.grid(row=4, column=0)
result = tk.StringVar()
result.set("Result")
result_label = tk.Label(root, textvariable=result)
result_label.grid(row=4, column=1)
root.mainloop()
```
运行这个程序,您将会看到一个简单的计算器界面。您可以在前两个文本框中输入数据,并选择需要的运算符,单击“Calculate”按钮,计算结果将会显示在第三个文本框中。
注意,这个程序还处理了除数为0和输入非数值的情况。如果除数为0,显示“NON”,如果输入非数值,显示“ERROR”。
阅读全文