如何在 Python FMX GUI 应用程序中使用代码使控件不可见?

问题描述 投票:0回答:1

我在 DelphiFMX for Python 中制作了以下 GUI,其中包含两个按钮和一个矩形。我只是想通过单击按钮隐藏和显示矩形:

到目前为止我尝试做的是:

def ShowButton_OnClick(self, sender):
    self.myRectangle.Show()

def HideButton_OnClick(self, sender):
    self.myRectangle.Hide()

但这给出了一个错误:

隐藏和显示组件的正确方法是什么?


有关更多信息,这是我的完整代码:

from delphifmx import *

class frmMain(Form):
    def __init__(self, owner):
        self.Caption = 'My Form with Hide/Show Buttons'
        self.Width = 600
        self.Height = 500

        self.ShowButton = Button(self)
        self.ShowButton.Parent = self
        self.ShowButton.Width = 200
        self.ShowButton.Height = 100
        self.ShowButton.Position.X = 50
        self.ShowButton.Position.Y = 50
        self.ShowButton.Text = 'Show'
        self.ShowButton.OnClick = self.ShowButton_OnClick

        self.HideButton = Button(self)
        self.HideButton.Parent = self
        self.HideButton.Width = 200
        self.HideButton.Height = 100
        self.HideButton.Position.X = self.ShowButton.Position.X + self.ShowButton.Width + 50
        self.HideButton.Position.Y = 50
        self.HideButton.Text = 'Hide'
        self.HideButton.OnClick = self.HideButton_OnClick

        self.myRectangle = Rectangle(self)
        self.myRectangle.Parent = self
        self.myRectangle.Width = self.ShowButton.Position.X + (self.ShowButton.Width * 2)
        self.myRectangle.Height = 100
        self.myRectangle.Position.X = 50
        self.myRectangle.Position.Y = self.ShowButton.Position.Y + self.ShowButton.Height + 50

    def ShowButton_OnClick(self, sender):
        self.myRectangle.Show()

    def HideButton_OnClick(self, sender):
        self.myRectangle.Hide()


def main():
    Application.Initialize()
    Application.Title = "My Application"
    Application.MainForm = frmMain(Application)
    Application.MainForm.Show()
    Application.Run()
    Application.MainForm.Destroy()

main()
python user-interface firemonkey visibility
1个回答
0
投票

正确的方法是使用

Visible
属性:

def ShowButton_OnClick(self, sender):
    self.myRectangle.Visible = True

def HideButton_OnClick(self, sender):
    self.myRectangle.Visible = False

点击“隐藏”按钮隐藏矩形:

© www.soinside.com 2019 - 2024. All rights reserved.