Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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
如何知道小部件当前正在Qt Designer中运行_Qt_Qt4_Designer_Qwidget - Fatal编程技术网

如何知道小部件当前正在Qt Designer中运行

如何知道小部件当前正在Qt Designer中运行,qt,qt4,designer,qwidget,Qt,Qt4,Designer,Qwidget,在自定义Qt小部件的代码中,我如何知道它当前在Qt设计器中实例化 用例: 我构建了一个复杂的自定义小部件,它有几个子小部件,如QPushButton、QLabel等 正如应用程序逻辑所要求的,当创建小部件时,这些子组件中的大多数是不可见的,但在设计时,当我把它放在一个表单上时,我希望看到它们 能够在设计时使用样式表。 目前我得到的是一个空视图,它只是构造函数-最小视图的结果(在我的例子中实际上是空的) 我想要的是能够做一些像 MyQWidget::(QWidget *parent) { ...

在自定义Qt小部件的代码中,我如何知道它当前在Qt设计器中实例化

用例:

我构建了一个复杂的自定义小部件,它有几个子小部件,如QPushButton、QLabel等

正如应用程序逻辑所要求的,当创建小部件时,这些子组件中的大多数是不可见的,但在设计时,当我把它放在一个表单上时,我希望看到它们

能够在设计时使用样式表。 目前我得到的是一个空视图,它只是构造函数-最小视图的结果(在我的例子中实际上是空的)

我想要的是能够做一些像

MyQWidget::(QWidget *parent)
{
 ....
   if(isRunningInDesigner())
   {
      myChildWidget1->setVisible(true);
      myChildWidget2->setVisible(true);
      myChildWidget3->setVisible(true);
   }
   else
   {
      myChildWidget1->setVisible(false);
      myChildWidget2->setVisible(false);
      myChildWidget3->setVisible(false);
   }
....
}
那么,我应该在这个bool isrunningdesigner()

中添加什么内容:

要在Qt Designer中提供自定义小部件的特殊行为,请提供initialize()函数的实现,以便为Qt Designer特定的行为配置小部件构造过程。此函数将在调用createWidget()之前第一次调用,并且可能会设置一个内部标志,稍后当Qt设计器调用插件的createWidget()函数时可以测试该标志


这些是来自插件接口的方法。简而言之:当Qt Designer要求您的插件创建自定义小部件的实例时,您告诉小部件以不同的方式运行。

您的意思是,您希望分析小部件以进行测试。i、 小部件的外观如何?我想让可视化设计器的外观和感觉尽可能接近用例。考虑文本字符串列表小部件,您希望在设计时看到小部件中的一些甚至无意义的字符串,以了解它将如何运行时间。