DelphiVCL.Shape represents a geometric shape that can be drawn on a form.
Add a Shape object to a form to draw a simple geometric shape on the form. TShape introduces properties to describe the pen used to outline the shape and the brush used to fill it.
If the shape is only part of the image of custom control, use the methods of the control’s canvas instead.
Browse all the properties, methods, and built-in properties of the DelphiVCL.Shape using dir() command:
1 2 3 |
import DelphiVCL dir(DelphiVCL.Shape) |
See the responses in our Windows command prompt:
Here is the working example of the implementation of DelphiVCL.Shape to draw a rectangle:
1 2 3 4 |
# Draw a rectangle shpRectangle = Shape(pgOne) shpRectangle.SetProps(Parent=pgOne,Shape = 'stRectangle') shpRectangle.SetBounds(75,15,300,300) |
To see the result, let’s run the complete script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
from DelphiVCL import * # Create a Class to build a basic Form class MainForm(Form): def __init__(self, Owner): self.Caption = "Introduction to VCL Components" self.Name = "BaseForm" self.SetBounds(10, 10, 500, 450) # Create a Main Panel component pnlMain = CreateComponent('TPanel',Owner) pnlMain.SetProps(Parent=self, Caption="",align = "alClient", Name = "MainPanel") # Page control creation pgConMain = PageControl(pnlMain) pgConMain.Name = "MyPageControl" pgConMain.Parent = pnlMain pgConMain.Align = "alClient" # Tabsheet one pgOne = TabSheet(pnlMain) pgOne.PageControl = pgConMain pgOne.Caption = "Tab 1" # Draw a rectangle shpRectangle = Shape(pgOne) shpRectangle.SetProps(Parent=pgOne,Shape = 'stRectangle') shpRectangle.SetBounds(75,15,300,300) # Initialize your application def main(): Application.Initialize() Application.Title = "MyDelphiApp" f = MainForm(Application) f.Show() FreeConsole() Application.Run() Application.Destroy() main() |
The result:
Check out DelphiVCL which easily allows you to build GUIs for Windows using Python.
Watch this comprehensive introduction to Python GUI Development with DelphiVCL library video by Jim McKeeth: