Embarcadero / DelphiVCL4Python

Delphi's VCL library as a Python module for building Windows GUI
Other
245 stars 54 forks source link

There is an issue with TToolBar #77

Open fansxs opened 11 months ago

fansxs commented 11 months ago

When the property PixelsPerInch of Form is 96, TToolBar can display normally. However, when it is not 96, such as 120, the program will encounter an error. 2

lmbelo commented 11 months ago

Can you share your code, please?

fansxs commented 11 months ago

Sure.

object Form1: TForm Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 205 ClientWidth = 382 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -13 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 120 ///HERE//// TextHeight = 16 object ToolBar1: TToolBar Left = 0 Top = 0 Width = 382 Height = 29 Caption = 'ToolBar1' TabOrder = 0 ExplicitLeft = 160 ExplicitTop = 120 ExplicitWidth = 150 end end

Generate it to pydfm file, then load it from python code.

import os from delphivcl import *

class Form1(Form):

def __init__(self, owner):
    self.ToolBar1 = ToolBar(self)
    self.LoadProps(os.path.join(os.path.dirname(os.path.abspath(__file__)), "Unit1.pydfm"))

def main(): Application.Initialize() Application.Title = 'Project1' MainForm = Form1(Application) MainForm.Show() FreeConsole() Application.Run()

if name == 'main': main()