Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QT5如何在ui设计器中访问对象?_Qt_User Interface_Qt5_Qt Creator_Qt Designer - Fatal编程技术网

QT5如何在ui设计器中访问对象?

QT5如何在ui设计器中访问对象?,qt,user-interface,qt5,qt-creator,qt-designer,Qt,User Interface,Qt5,Qt Creator,Qt Designer,我已经创建了一个名为workspace的ui设计器对象,并且有一个名为myForm的对象升级到名为CustomForm的自定义类。 现在我想访问另一个类中的对象myForm,但我失败了。在工作区成员函数定义中,我通过ui->myForm访问myForm,如何在其他类中访问?您不能直接访问它,因为ui通常是私有的 但是您可以添加一个getter函数(CustomForm*myForm()),该函数将ui->myForm返回到您的工作区类。您不能直接访问它,因为ui通常是私有的 但是您可以添加一个g

我已经创建了一个名为
workspace
的ui设计器对象,并且有一个名为
myForm
的对象升级到名为
CustomForm
的自定义类。
现在我想访问另一个类中的对象
myForm
,但我失败了。在工作区成员函数定义中,我通过
ui->myForm
访问myForm,如何在其他类中访问?

您不能直接访问它,因为
ui
通常是私有的


但是您可以添加一个getter函数(
CustomForm*myForm()
),该函数将
ui->myForm
返回到您的工作区类。

您不能直接访问它,因为
ui
通常是私有的


但是您可以添加一个getter函数(
CustomForm*myForm()
),该函数将
ui->myForm
返回到您的工作区类中。

请具体说明并给出一些简单的示例。我能猜出你的问题是什么。如果您想从基于ui的类外部访问表单,您必须记住ui在默认情况下是私有的。直接从基于ui的类外部访问ui元素是一件小事,例如编写访问器函数,但(一般来说)这是一个非常糟糕的想法(从设计角度而言)。请具体说明并给出一些最小的示例。我能猜出你的问题是什么。如果您想从基于ui的类外部访问表单,您必须记住ui在默认情况下是私有的。直接从基于ui的类外部访问ui元素是一件小事,例如编写访问器函数,但是(一般来说)这是一个非常糟糕的主意(从设计角度来看)。谢谢,这对我有帮助,同时记住Ready也是一件好事,因为您通常不想公开子部件。需要直接访问子部件可能是您的软件设计中存在缺陷的标志。谢谢,这有助于我记住,当您通常不想公开子部件时,Ady的也很好。要求直接访问子部件可能是软件设计中存在缺陷的标志。