python tkinter 文本框 tkinter更新文本框_文本框


(接上讲)

大家好,在上一讲中我们讲了利用类方法和事件,实现让文本框在激活时改变颜色的第一部分代码,类模块的建立。我们今天继续讲解,这讲讲的是窗体的代码:

为了实现上述的目的,我们首先要构建一个窗体,由文本框和按钮组成:


python tkinter 文本框 tkinter更新文本框_Text_02


窗体的代码如下:

Dim mytexbox() As New mytebox
Private Sub CommandButton1_Click()
If TextBox2.Text = "" Then
 T1 = 0
 Else
 T1 = TextBox2.Text + 0
End If
If TextBox3.Text = "" Then
 T2 = 0
 Else
 T2 = TextBox3.Text + 0
End If
If TextBox4.Text = "" Then
 T3 = 0
 Else
 T3 = TextBox4.Text + 0
End If
TextBox1.Text = T1 + T2 + T3
End Sub
Private Sub CommandButton2_Click()
For i = 1 To 4
 With UserForm7.Controls("TextBox" & i)
 .ForeColor = 0 '(黑色)
 .BackColor = 16777215 ' (白色)
 .Text = ""
 End With
Next
End Sub
Private Sub UserForm_Initialize()
 For Each myctl In Me.Controls
 If TypeName(myctl) <> "CommandButton" And TypeName(myctl) <> "Label" Then
 yy = TypeName(myctl)
 m = m + 1
 ReDim Preserve mytexbox(1 To m)
 Set mytexbox(m) = New mytebox '创建一个新的mycdl类对象
 Set mytexbox(m).mBOX = myctl '设置关联
 End If
 Next
End Sub


python tkinter 文本框 tkinter更新文本框_VBA_03


python tkinter 文本框 tkinter更新文本框_Text_04


在上面的语句中有两个按钮的事件,及窗体的构建代码。

1 窗体的构建函数:

Private Sub UserForm_Initialize()
 For Each myctl In Me.Controls
 If TypeName(myctl) <> "CommandButton" And TypeName(myctl) <> "Label" Then
 yy = TypeName(myctl)
 m = m + 1
 ReDim Preserve mytexbox(1 To m)
 Set mytexbox(m) = New mytebox '创建一个新的mycdl类对象
 Set mytexbox(m).mBOX = myctl '设置关联
 End If
 Next
End Sub

上述代码中我们先对每一个控件进行循环,如果是文本框控件,那么将这个文本框定义为新的类并设置类与mBOX 类事件对象的关联。以便让文本框响应我们需要的动作。

2 按钮求和是把后三个的文本框值相加。

3 重置按钮是清空文本框内容,包括颜色设置地复位。

今日内容回向:

1 在窗体的构建中要解决哪类问题?

2 如何让窗体的实际对象响应已经定义了类事件的对象?

-----------------------------------------------------------------------------------------------

学习有用的东西需要一种不知足的精神,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里。待到暮年时再去做自欺欺人的言论。要努力提高自己,有一颗充满生机的心灵,把握现在,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。茶,满也好,少也好,不要计较;浓也好,淡也好,其中自有值得品的味道。去感悟真实的时间,静下心,多学习,积累福报。而不是天天混日子,也不是天天熬日子。在后疫情更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。

VBA是利用Office实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,现在推出了五部VBA教程。第一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖绝大多数的VBA知识点;第二:VBA数据库解决方案,是数据处理的专业利器,详细的介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作。第三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。字典是VBA代码水平提高的手段,值得深入的学习。第四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。

第五:VBA中类的解读和利用,是一部高级教程,对于自己理论的提高很有益处。上述教程可以根据1,3,2,5或者是4,3,2,5的顺序逐渐深入的学习和利用。

在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!

分享成果,随喜正能量