如何设置Python FMX GUI Form的打开位置:居中及自定义坐标
DelphiFMX for Python 窗体打开位置设置方案
DelphiFMX库提供了内置属性,可直接控制窗体的打开位置,以下是两种常见场景的实现方式:
1. 窗体居中显示
通过设置窗体的Position属性,可实现不同维度的居中效果:
TFormPosition.poScreenCenter:相对于单屏幕居中TFormPosition.poDesktopCenter:多显示器环境下,相对于整个桌面区域居中TFormPosition.poMainFormCenter:子窗体相对于主窗体居中
代码示例(主屏幕居中)
修改你的窗体初始化逻辑即可:
from delphifmx import * class frmMain(Form): def __init__(self, owner): self.Caption = 'My Form' self.Width = 1000 self.Height = 500 # 设置窗体屏幕居中 self.Position = TFormPosition.poScreenCenter def main(): Application.Initialize() Application.Title = "My Application" Application.MainForm = frmMain(Application) Application.MainForm.Show() Application.Run() Application.MainForm.Destroy() main()
2. 自定义X/Y坐标位置
直接通过窗体的Left(横向X坐标)和Top(纵向Y坐标)属性指定位置,坐标原点为屏幕左上角:
代码示例(自定义位置)
from delphifmx import * class frmMain(Form): def __init__(self, owner): self.Caption = 'My Form' self.Width = 1000 self.Height = 500 # 自定义位置:左上角偏移X=200,Y=150 self.Left = 200 self.Top = 150 def main(): Application.Initialize() Application.Title = "My Application" Application.MainForm = frmMain(Application) Application.MainForm.Show() Application.Run() Application.MainForm.Destroy() main()
注意点
- 若同时设置
Position和Left/Top,Position的优先级更高,会覆盖自定义坐标,需根据需求选择其一。 - 多显示器场景下,可通过
Screen.Width、Screen.Height获取屏幕尺寸,动态计算合适的窗体位置。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

