TButtonedEditDemo 项目分析¶
项目信息¶
- 项目名称: TButtonedEditDemo
- 下载链接: TButtonedEditDemo.rar
- 分析时间: 2026-03-05
文件结构¶
TButtonedEditDemo/
├── Extractor_Icon.ico
├── Project1.py
├── Project1.xml
├── Unit1.py
├── Unit1.pydfm
├── Unit1.sct
├── Unit1.sfm
主程序文件: Project1.py¶
from glcl import *
from Unit1 import *
def main():
Application.Initialize()
Application.Title = 'Project1'
Application.MainFormOnTaskbar = True
Application.Icon.LoadFromFile(os.path.join(os.path.dirname(os.path.abspath(__file__)), "Extractor_Icon.ico"))
MainForm = Form1(Application)
MainForm.Show()
FreeConsole()
Application.Run()
MainForm.Free()
if __name__ == '__main__':
main()
单元文件: Unit1.py¶
import os
from glcl import *
class Form1(Form):
def __init__(self, owner):
self.ImageList1 = ImageList(self)
self.Button1 = Button(self)
self.ButtonedEdit1 = ButtonedEdit(self)
self.LoadProps(os.path.join(os.path.dirname(os.path.abspath(__file__)), "Unit1.pydfm"))
self.Button1.OnClick = self.Button1Click
# 创建 TButtonedEdit 组件
self.buttonedEdit = ButtonedEdit(self)
self.buttonedEdit.Parent = self # 设置父控件为当前表单
self.buttonedEdit.Top = 20 # 设置位置
self.buttonedEdit.Left = 20 # 设置位置
self.buttonedEdit.Width = 250 # 设置编辑框宽度
self.buttonedEdit.Images = self.ImageList1 # 设置关联的图片列表组件
self.buttonedEdit.LeftButton.ImageIndex = 0 # 设置图片索引下标
self.buttonedEdit.LeftButton.Visible = True # 设置可见
self.buttonedEdit.RightButton.ImageIndex = 1
self.buttonedEdit.RightButton.Visible = True
# 创建一个按钮用于显示输入的文本
self.showButton = Button(self)
self.showButton.Parent = self # 设置父控件为当前表单
self.showButton.Caption = 'Show Input' # 设置按钮文本
self.showButton.Top = 60 # 设置按钮位置
self.showButton.Left = 20 # 设置按钮位置
self.showButton.Width = 200 # 设置按钮宽度
self.showButton.OnClick = self.show_input # 绑定点击事件
def show_input(self, Sender):
# 按钮点击事件处理函数
input_text = self.buttonedEdit.Text # 获取输入框中的文本
ShowMessage(f'You entered: {input_text}') # 显示输入的文本
def Button1Click(self, Sender):
ShowMessage(self.ButtonedEdit1.Text)
设计文件: Unit1.sct¶
def Button1Click(Sender):
设计文件: Unit1.sfm¶
object Form1: TForm
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 215
ClientWidth = 334
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -15
Font.Name = 'Segoe UI'
Font.Style = []
TextHeight = 20
object ButtonedEdit1: TButtonedEdit
Left = 8
Top = 176
Width = 201
Height = 28
Images = ImageList1
LeftButton.ImageIndex = 0
LeftButton.Visible = True
RightButton.ImageIndex = 1
RightButton.Visible = True
TabOrder = 0
Text = 'ButtonedEdit1'
end
object Button1: TButton
Left = 216
Top = 176
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 1
OnClick = Button1Click
end
object ImageList1: TImageList
Left = 72
Top = 56
Bitmap = {
494C010102000800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000001000000001002000000000000010
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000011604040E6600000000000000000000000100000F3F0000
01160000000100000000000000000000000000000000DCDEDC0094B6AC0059AE
8C003CAE84001CBA7C000CBA740008B6740008B6740014BA7C002CAE7C004CAA
840077B29C00BCCAC40004020400000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000407073DA47E7E7EFF1E1E29FF000000000000000000000D3A5F5F5FFF5858
58FF5D5D5DFF0000011400000000000000003CAE840013B684001FC28C0024CA
94002CCE9C0034D2A40034D6AC003CDEB40044DEB4004CE6C4004CEAC40054EE
CC005CF2D40062F6DC002CCE9C00040204000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000001E1E
29FF7E7E7EFF848484FF0000184F00000000000000027E7E7EFFA6A6A6FFA5A5
A5FF3F3F3FFF171717FF00000524000000000CAE740014B27C001FBE8C001CC6
94002CCE9C002CD2A40034D6AC003CDAAC0044DEBC0044E2BC004CE6C40054EE
CC005CEED4005CF2DC0062F6DC00ACC2BC000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000072B7E7E
7EFF888888FFAAAAAAFF252525FF1E1E29FF1E1E29FF7E7E7EFFD1D1D1FF2626
25FF1E1E1EFF131413FF00000D3B000000000CAA740014AE7C001CBA840024C2
940024CA9C002BD29C0034D6A4003CDAAC0044DEB40044E2BC004CE6C40054EA
CC0054EECC005CF2D4005CF2D40077B29C000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000009327575
75FF757575FF7D7D7DFF242424FF252525FF828282FFFDFDFDFF848585FF2323
23FF272627FF1B1B1BFF00000004000000003CB68C0011AA7C001CB684001FBE
8C0007BE8400FCFEFC000CCE94002CDAAC001CD6A4003CDEB4004CE6C4004CE6
C40054EACC0054EECC0054EED40044AA84000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000018080
80FF898989FFF8F8F8FF222222FF252525FFE6E6E6FFFFFFFFFF292A2AFF2928
28FF181818FF161632E800000000000000005ABA9C0049BA940007AE7C001CBA
840004BA8400FCFEFC00FCFEFC00FCFEFC00FCFEFC004CDEBC0044E2BC004CE6
BC004CE6C4004CEAC40054EACC0024B27C000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000202
2D76787878FFDDDDDDFF1D1D1DFF6B6B6BFFFDFDFDFF1F1E1FFF2D302EFF1B1B
1BFF181918FF00000932000000000000000089CAB4005ABA9C004CBE9C0007AE
7C00FCFEFC00FCFEFC00FCFEFC00FCFEFC00FCFEFC002CDAAC0044DEB40044E2
BC0044E2BC004CE6C4004CE6C40014BA7C000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0524747474FFA8A8A8FF161616FF656565FF141414FF313131FF434343FF1F20
1FFF1A1A1AFF000000070000000000000000A2D2C40058BE9C004CB69400FCFE
FC00FCFEFC00FCFEFC00FCFEFC00FCFEFC00FCFEFC001CD2A4003CDEB4003CDE
B40044DEBC0044E2BC0044E2BC0008B674000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0113757575FF919191FF434343FFA4A4A4FF3F3F3FFF363534FF232325FF1C1C
1CFF181818FF000000040000000000000000C6E2DC0074BEA4005CBEA4000CA6
7400FCFEFC00FCFEFC00FCFEFC00FCFEFC00FCFEFC00B7EEDC0034D6AC003CDA
AC003CDEB4003CDEB4003CDEB40008B674000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000727272FF166694FF105D8AFF898989FF323232FF404040FF444444FF3631
36FF191919FF000000000000000000000000DCEAE4007CC2AC0074C2AC0054B6
9C0006A27400FCFEFC00FCFEFC00C4EEE40064DEBC009CE6D4009CE6D400ECFE
FC0034D6AC003CDAAC003CDAAC001CB67C000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000A34737373FF313131FF151515FF363636FF2A2A2AFF2B2B2BFF0303
1D5600000008000000000000000000000000E4F2EC0094CAB40074BEAC0089CA
B4000CA26C00DCF6F4009CDAC4001FBE8C0024C29400C4F2E400F4FAFC00FCFE
FC00FCFEFC0034D6AC0034D6AC002CAE7C000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000200000931383738FF131313FF0E0E0EFF101010FF383839FF2D2B2AFF1E1E
29FF00000000000000000000000000000000E4F2EC0094CABC0094CAB4007CC2
AC00149E7400049E6C0007AE7C001CB684001FBE8C006CDAB400B7EEDC00DCF6
F40084E6CC002BD29C002CD2A4004CAA84000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000001101E1E29FF2D2D
2EFF2D597FFF2880CDFF2982CEFF2C8CD2FF2A9EE0FF24A8E9FF2BACE4FF2D36
3DFF2C3233FF1E1E29FF0000000700000000BCEADC00ACD6CC009CCEC40094CA
B40086C6B40034AA8400049E6C0007AE7C0013B684001CBA8C0070D6B400A8EA
D40024CA9C002CCE9C002CCE9C0077B29C000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000181826EA1961A4FF1452
8EFF1D67ACFF2373BCFF2983CDFF2C98D9FF23B8F5FF21B0EFFF1F7CC1FF1860
A1FF165A9CFF195B9BFF00000112000000008CDABC00C4DED400ACD6CC009CCE
C40094CAB40086C6B4007CC6AC006CCAAC005CC6A4004CC6A40049C69C0034CA
9C002CCA940024CA940024CA9400B4C6BC000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000040000
072B1E1E29FF165799FF1B2E3DFF2E3840FFB3B8BDFF9DC1E1FF165A99FF0404
337B000002190000000100000000000000001FBE8400CCE6DC00C4DED400ACD6
CC00A2D2C40089CAB4007CC6AC006FC6AC0064C6A4005CC6A4004CCA9C0049C6
9C003CC6940024CA94001FC68C00040204000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000700001142090936AA00001D560000031C000000030000
000100000000000000000000000000000000000000001CBA7C006CD2AC00A4E6
CC00B7EEDC00D4EAE400CCE6DC00BADED400A0D6C40084CEB4005CCAA4003CC2
94001FBE840009BA7C0070AE9400000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000100000000100010000000000800000000000000000000000
000000000000000000000000FFFFFF00F083800100000000E081000000000000
C000000000000000C001000000000000C001000000000000C001000000000000
E003000000000000E003000000000000E003000000000000F003000000000000
F007000000000000C00100000000000080010000000000008001000000000000
C003000000000000F80F80010000000000000000000000000000000000000000
000000000000}
end
end
其他文件¶
- Extractor_Icon.ico
- Project1.xml
详细分析¶
功能概述¶
按钮组件演示
使用的组件¶
- Form1 (TForm)
- ButtonedEdit1 (TButtonedEdit)
- Button1 (TButton)
- ImageList1 (TImageList)
技术特点¶
- 包含4个GUI组件
- 定义2个事件处理
窗体属性¶
- caption: Button1
- height: 215
- width: 334
代码分析¶
导入的模块: - import os - from glcl import *
定义的类: - Form1
定义的方法: - init - show_input - Button1Click
事件绑定: - self.Button1.OnClick = self.Button1Click - self.showButton.OnClick = self.show_input # 绑定点击事件