如何在Python FMX GUI应用中正确为TabControl添加选项卡?
Python FMX TabControl 添加选项卡的正确方法
你遇到的报错是因为Python FMX的TabControl组件并没有Tabs属性,无法通过Tabs.Add()来添加选项卡。正确的做法是创建TabItem实例,并将其关联到TabControl上。
修正后的完整代码示例
from delphifmx import * class MainForm(Form): def __init__(self, owner): self.Caption = 'TabControl Demo' self.Width = 600 self.Height = 400 # 初始化TabControl self.TabControl1 = TabControl(self) self.TabControl1.Parent = self self.TabControl1.Align = "Client" self.TabControl1.Margins.Top = 50 self.TabControl1.Margins.Bottom = 50 self.TabControl1.Margins.Left = 50 self.TabControl1.Margins.Right = 50 # 创建并添加第一个选项卡 tab1 = TabItem(self.TabControl1) tab1.Parent = self.TabControl1 tab1.Text = "Tab1" # 为Tab1添加内容示例 label1 = Label(tab1) label1.Parent = tab1 label1.Text = "Tab1 内容区域" label1.Align = "Client" # 创建并添加第二个选项卡 tab2 = TabItem(self.TabControl1) tab2.Parent = self.TabControl1 tab2.Text = "Tab2" label2 = Label(tab2) label2.Parent = tab2 label2.Text = "Tab2 内容区域" label2.Align = "Client" # 创建并添加第三个选项卡 tab3 = TabItem(self.TabControl1) tab3.Parent = self.TabControl1 tab3.Text = "Tab3" label3 = Label(tab3) label3.Parent = tab3 label3.Text = "Tab3 内容区域" label3.Align = "Client" def main(): Application.Initialize() Application.Title = 'TabControl 示例' Application.MainForm = MainForm(Application) Application.MainForm.Show() Application.Run() Application.MainForm.Destroy() if __name__ == '__main__': main()
关键说明
- 每个选项卡对应一个
TabItem对象,必须将TabItem的Parent属性设置为目标TabControl,才能将其添加到选项卡控件中。 - 通过
TabItem.Text属性设置选项卡的显示标题。 - 每个
TabItem可以作为容器,添加其他FMX控件(如Label、Button等)作为该选项卡的内容。
内容的提问来源于stack exchange,提问作者Shaun Roselt
相关产品推荐
相关产品推荐

