-
2021-02-10 17:54:06
最近在写一个模拟做题系统,里面有一个输出错题的功能,设置的文本框只有输出一道错题的大小,但是不能就一道题吧,就想到了平时页面里的滚动文本框,上网搜了搜,查到了ScrolledText,但是没找到实现我所需要功能的具体方法,没办法,我就自己研究了研究,好在最后实现了,现在就附上我的实现代码:
def cuotiwin():
global score #分数
global list2 #存放错题
var1=StringVar
window = Tk()
window.title("我的C语言做题系统") # title() 定义这个窗口的标题
window.geometry("1000x500") # geometry() 定义窗口的大小
scr = scrolledtext.ScrolledText(window, width=70, height=13,font=("隶书",18)) #滚动文本框(宽,高(这里的高应该是以行数为单位),字体样式)
scr.place(x=50, y=50) #滚动文本框在页面的位置
i = "你太优秀了,没有错题!"
def panduan():
i ="你太优秀了,没有错题!"
if score == 100:
scr.insert(END,i)
else:
for b in list2: #遍历错题列表
scr.insert(END,b) #将错题显示在动文本框中
panduan()
def exit():
caidanwin() #跳转页面
window.destroy() #跳转后关闭当前窗口
button2 = Button(window, text="返 回", font=("隶书", 20), command=exit)
button2.place(x=700, y=420, width=150, height=60)
window.mainloop()
实现结果如下:
更多相关内容 -
自定义view(自动滚动文本框)
2016-11-08 11:25:03自定义view(自动滚动文本框),AlwaysMarqueeTextView.java,复制到项目工程中即可使用 -
tkinter实现滚动文本框
2022-02-18 19:39:50import os ...root.title('滚动文本框') #设置主窗口高宽 root['height']=300 root['width']=500 #固定窗口大小 root.resizable(0,0) def Close(root): btn=tkinter.Button(root,text='退出',font=('黑体.import os import cv2 import tkinter from tkinter import scrolledtext root=tkinter.Tk() #设置窗口标题 root.title('滚动文本框') #设置主窗口高宽 root['height']=300 root['width']=500 #固定窗口大小 root.resizable(0,0) def Close(root): btn=tkinter.Button(root,text='退出',font=('黑体',14),height=1,command=root.destroy) btn.place(x=435,y=250) def Scroll(root): scroll=scrolledtext.ScrolledText(root,width=45,height=13,font=('黑体',10)) scroll.place(x=100,y=30) filename=r'E:\conda_3\PyCharm\Detect_Faces\Faces_System\Input_video\test.txt' with open(filename,'r',encoding='utf-8') as fp: for line in fp: scroll.insert(tkinter.END,line) scroll.insert(tkinter.END,'结尾!') if __name__=='__main__': Scroll(root) Close(root) root.mainloop()
-
python图形界面tk 1.10 滚动文本框(ScrolledText)
2020-12-19 03:18:16滚动文本框个人理解滚动文本框就是文本框的升级版,类似的功能为记事本,可以写多行的数据,并且当超出当前窗口的行数时就会出现上下拉动的滚动条文本框飞机票猛击我滚动文本框的详细代码在79-83行注:使用tk的滚动...滚动文本框
个人理解滚动文本框就是文本框的升级版,类似的功能为记事本,可以写多行的数据,并且当超出当前窗口的行数时就会出现上下拉动的滚动条
文本框飞机票猛击我
滚动文本框的详细代码在79-83行
注:使用tk的滚动文本框需要先导入模块,导入代码在第6行,该行导入代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import ttk
from tkinter import scrolledtext # 导入滚动文本框的模块
win = tk.Tk()
win.title("Python GUI") # 添加标题
ttk.Label(win, text="Chooes a number").grid(column=1, row=0) # 添加一个标签,并将其列设置为1,行设置为0
ttk.Label(win, text="Enter a name:").grid(column=0, row=0) # 设置其在界面中出现的位置 column代表列 row 代表行
# button被点击之后会被执行
def clickMe(): # 当acction被点击时,该函数则生效
action.configure(text='Hello ' + name.get() + ' ' + numberChosen.get()) # 设置button显示的内容
print('check3 is %s %s' % (type(chvarEn.get()), chvarEn.get()))
# 按钮
action = ttk.Button(win, text="Click Me!", command=clickMe) # 创建一个按钮, text:显示按钮上面显示的文字, command:当这个按钮被点击之后会调用command函数
action.grid(column=2, row=1) # 设置其在界面中出现的位置 column代表列 row 代表行
# 文本框
name = tk.StringVar() # StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符;不过一般用在按钮button上。改变StringVar,按钮上的文字也随之改变。
nameEntered = ttk.Entry(win, width=12, textvariable=name) # 创建一个文本框,定义长度为12个字符长度,并且将文本框中的内容绑定到上一句定义的name变量上,方便clickMe调用
nameEntered.grid(column=0, row=1) # 设置其在界面中出现的位置 column代表列 row 代表行
nameEntered.focus() # 当程序运行时,光标默认会出现在该文本框中
# 创建一个下拉列表
number = tk.StringVar()
numberChosen = ttk.Combobox(win, width=12, textvariable=number, state='readonly')
numberChosen['values'] = (1, 2, 4, 42, 100) # 设置下拉列表的值
numberChosen.grid(column=1, row=1) # 设置其在界面中出现的位置 column代表列 row 代表行
numberChosen.current(0) # 设置下拉列表默认显示的值,0为 numberChosen['values'] 的下标值
# 复选框
chVarDis = tk.IntVar() # 用来获取复选框是否被勾选,通过chVarDis.get()来获取其的状态,其状态值为int类型 勾选为1 未勾选为0
check1 = tk.Checkbutton(win, text="Disabled", variable=chVarDis, state='disabled') # text为该复选框后面显示的名称, variable将该复选框的状态赋值给一个变量,当state='disabled'时,该复选框为灰色,不能点的状态
check1.select() # 该复选框是否勾选,select为勾选, deselect为不勾选
check1.grid(column=0, row=4, sticky=tk.W) # sticky=tk.W 当该列中其他行或该行中的其他列的某一个功能拉长这列的宽度或高度时,设定该值可以保证本行保持左对齐,N:北/上对齐 S:南/下对齐 W:西/左对齐 E:东/右对齐
chvarUn = tk.IntVar()
check2 = tk.Checkbutton(win, text="UnChecked", variable=chvarUn)
check2.deselect()
check2.grid(column=1, row=4, sticky=tk.W)
chvarEn = tk.IntVar()
check3 = tk.Checkbutton(win, text="Enabled", variable=chvarEn)
check3.select()
check3.grid(column=2, row=4, sticky=tk.W)
# 单选按钮
# 定义几个颜色的全局变量
COLOR1 = "Blue"
COLOR2 = "Gold"
COLOR3 = "chocolate1"
# 单选按钮回调函数,就是当单选按钮被点击会执行该函数
def radCall():
radSel = radVar.get()
if radSel == 1:
win.configure(background=COLOR1) # 设置整个界面的背景颜色
elif radSel == 2:
win.configure(background=COLOR2)
elif radSel == 3:
win.configure(background=COLOR3)
radVar = tk.IntVar() # 通过tk.IntVar() 获取单选按钮value参数对应的值
rad1 = tk.Radiobutton(win, text=COLOR1, variable=radVar, value=1, command=radCall) # 当该单选按钮被点击时,会触发参数command对应的函数
rad1.grid(column=0, row=5, sticky=tk.W) # 参数sticky对应的值参考复选框的解释
rad2 = tk.Radiobutton(win, text=COLOR2, variable=radVar, value=2, command=radCall)
rad2.grid(column=1, row=5, sticky=tk.W)
rad3 = tk.Radiobutton(win, text=COLOR3, variable=radVar, value=3, command=radCall)
rad3.grid(column=2, row=5, sticky=tk.W)
# 滚动文本框
scrolW = 30 # 设置文本框的长度
scrolH = 3 # 设置文本框的高度
scr = scrolledtext.ScrolledText(win, width=scrolW, height=scrolH, wrap=tk.WORD) # wrap=tk.WORD 这个值表示在行的末尾如果有一个单词跨行,会将该单词放到下一行显示,比如输入hello,he在第一行的行尾,llo在第二行的行首, 这时如果wrap=tk.WORD,则表示会将 hello 这个单词挪到下一行行首显示, wrap默认的值为tk.CHAR
scr.grid(column=0, columnspan=3) # columnspan 个人理解是将3列合并成一列 也可以通过 sticky=tk.W 来控制该文本框的对齐方式
win.mainloop() # 当调用mainloop()时,窗口才会显示出来
代码执行结果如图
a8ebff34-c26b-4c38-b391-63673dbf2f0e.png
在文本框中输入一段英文
b6352be6-e85d-4c57-9c32-137bb1295beb.png
向下拉滚动条
398e09ed-7ceb-422c-8f15-a978c6cf967f.png
将代码第90行 wrap=tk.WORD 参数去掉,执行代码,然后在文本框中输入一段英文,显示结果如图
5fd98b4c-2dd7-4840-a9f4-30df1bebae8f.png
上图显示结果,行末显示的一个英文单词被分为两行显示,详细解释参考代码第90行的注释
如果将代码第83行中的columnspan=3 去掉,执行代码显示结果如图
9c5d362d-32d8-4411-9d0f-66406976b6a1.jpg
-
Word中的滚动文本框是如何制作(可以)
2020-08-14 11:51:27那么这个时候,我们可以用“控件”来解决,即利用Word文档内容控件添加一个带滚动条的文本框,即能全部展示内容,同时使文档版面看起来整洁美观,可读性更强。 效果如图所示: 具体操作方法如下: (1)在Word...在对文档进行排版的过程中,有时候需要对某些内容、图片进行备注说明,或是需要在某处添加一个外部文档的内容,但由于要添加的内容过多,直接添加到该处可能会影响排版,同时上翻下翻十分不便,放在一页又受版面限制,容纳不下……。
那么这个时候,我们可以用“控件”来解决,即利用Word文档内容控件添加一个带滚动条的文本框,即能全部展示内容,同时使文档版面看起来整洁美观,可读性更强。
效果如图所示:
具体操作方法如下:
(1)在Word中单击【文件】-【选项】,打开“Word选项”对话框,在左侧选择“自定义功能区”选项,在右侧【主选项卡】下方勾选【开发工具】复选框,然后单击“确定”按钮将【开发工具】选项卡添加到菜单栏中。
(2)单击【开发工具】-【控件】-【旧式工具】按钮,在弹出的列表中选择“文本框(ActiveX 控件)”选项,此时,文档中将自动添加一个文本框。
添加后,可随意调整文本框大小。但是,你会发现,此时的文本框并没有带滚动条,怎么办呢?请继续往下看:
(3)点击【开发工具】-【控件】-【属性】按钮,或在文本框上单击鼠标右键,在弹出的快捷菜单中选择”属性“选项,此时会打开”属性“对话框,在“按字母序”选项卡,将“Multiline”值设置为“True”。
(4)选择“按分类序”选项卡,在“Scrollbars”下拉列表中选择滚动形式,这里选择“2-fmscrollBarsVertical ”,设置完后关闭“属性”对话框。
技巧提示:将“Multiline”值设置为“True”,表示文本框多行显示,若不设置此项,回车将不会换行;将“Scrollbars”设置为“2-fmscrollBarsVertical ”,表示添加垂直滚动条。
(5)选中文本框,单击鼠标右键,在弹出的快捷菜单中选择“文本框对象”—“编辑”命令,然后就可以在文本框中输入文本内容了,当内容较多时,文本框即带有滚动条,效果如下图所示。
总结:上述操作技巧同样适用于Excel和PPT软件,有兴趣的小伙伴记得到手试一试哦!
假如你学习到了这个新技能不妨转发推荐给你的小伙伴。并动动小指头收藏,以免下次走丢。
我们将定期更新Word、Excel、PPT等操作技巧。
-
FLASH中制作滚动文本框的两种方法.doc
2020-08-11 08:03:44FLASH中制作滚动文本框的两种方法- - 种是利用flash自己的组件是最简单的一种方法再一种就是利用一些简单的命令来实现滚动的效果 一 利用组件制作滚动文本框 在场景的空白位置往往不够容纳下当前部分的所有文字此时... -
PowerPoint制作滚动文本框的办法.docx
2021-09-27 00:04:40PowerPoint制作滚动文本框的办法.docx -
PowerPoint教程 制作滚动文本框的办法.docx
2021-09-27 00:05:36PowerPoint教程 制作滚动文本框的办法.docx -
Unity3d如何实现滚动文本框?
2020-12-30 08:17:30Unity3d实现滚动文本框的步骤如下: 1、打开unity3d场景,选择“GameObject”--“UI”--“Image”创建一个图片。设置这个图片大小,作为滚动列表的背景面板。 2、创建一个panel,作为数据列表显示区域。在panel上... -
基于python实现的聊天室(客户端:二)tkinter的美化ttkbootstrap的滚动文本框ScrollText自动滚动到底部
2022-04-02 16:57:21ScrollText自动滚动到底部 -
20150512表单、文本框、复选框、单选按钮、滚动文本框、单选框、label
2021-06-11 07:36:431.1、表单是一个HTML元素,用于包含和组织称为表单控件的对象,如文本框、复选框、按钮等。1.2、表单由两部分组成:①HTML表单本身,它是网页用户界面;②服务器端处理,它处理表单数据,可以发送电子邮件、向文本... -
ppt插入滚动文本框
2011-04-24 21:21:43ppt课件设计,ppt插入滚动文本框。ppt插入滚动文本框。ppt插入滚动文本框。ppt插入滚动文本框。ppt插入滚动文本框。ppt插入滚动文本框。 -
android输入框与文本框加滚动条scrollview示例
2020-09-04 11:13:06主要介绍了android输入框与文本框加滚动条scrollview示例,需要的朋友可以参考下 -
调整滚动Tkinter文本框的大小
2021-01-12 06:49:03我想要一个滚动的Tkinter文本框来填充最大的分配空间。我有点工作。。。在由于某些原因,当我拉伸窗口时,文本小部件很好;但是,滚动条在x轴上有大量的填充。在第二个问题是当我缩小窗口时,屏幕上的滚动条消失了。... -
Powerpoint中实现带滚动条文本框的技巧
2021-06-09 10:04:50在使用PowerPoint制作幻灯片时,会遇到这样的问题:一个图文并茂的幻灯片,左面是图,右面是说明文字,文字内容过多,不能全部展示;... 至此,一个文字可以随滚动条上下拖动而移动的文本框就完成了。 -
Word——滚动文本框
2022-06-05 16:23:29目录引言实现步骤步骤一步骤二 步骤三 步骤四结果展示注:此时添加进文本会发现并没有滚动条 注: 将“Multiline”值设置为“True”,表示文本框多行显示注:将“Scrollbars”设置为“2-fmscrollBarsVertical ”,... -
如何选中滚动文本框从某一行到某一行
2021-03-15 17:55:58//=======================================//功能: 滚动文本框精确位置定位//输入参数://self 滚动文本框对象//_startLine 开始行数//_endLine 结束行数//_startPoint 开始行数的开始位置//_endPoint 结束行数的... -
带自动垂直滚动的多行文本框
2021-04-13 14:10:27带自动垂直滚动的多行文本框在互联网上有很多类似的问题,包括SO,但提出的解决scheme在我的情况下不起作用。 场景:xaml中有一个日志文本框有一些代码隐藏的方法可以完成一些工作,并在这个文本框中添加一些多行... -
ppt滚动文本框怎么做呀,谢谢大家!
2015-12-08 15:09:37我用的wps,网上搜说是右键单击工具栏,可是单击之后啥也没有,各位前辈咋弄呢? -
获取滚动文本框TextArea焦点所在位置信息
2021-03-10 04:40:41//==================================================//功能: 获取滚动文本框焦点所在位置信息//输入参数://_mOffset 滚动文本框对象//返回值://OffsetObject 位置信息对象//length 焦点位置长度//leftValue 滚动... -
html在文本框中加入滚动条
2021-06-09 08:01:25我们都知道大篇幅的文章会占据页面的大部分空间,从而影响页面整体的美观性,而通过为其添加一个带有滚动条的文本框,则能够很好地解决上述问题。下面就是相关语法:style='color: #ffffff;background-color: #... -
tkinter文本框同步滚动
2020-08-16 10:17:02tkinter实现适用于编辑器的同步滚动 -
通过css控制HTML文本框中的文字垂直居中
2020-12-13 22:27:19当定义了 Text 的 height 属性时,在 Text 中输入的文字都不是垂直居中的,不过你可以添加CSS来控制它,让输入的文字垂直居中,使网页更完美。 复制代码代码如下: <... <head> <style type=”text/css”&... -
void Screen1View::handleTickEvent() { this->tickCounter++; static uint8_t change = 0; if (this->tickCounter % 50 == 0) { if (change) { change =...}