如何知道小部件当前正在Qt Designer中运行
在自定义Qt小部件的代码中,我如何知道它当前在Qt设计器中实例化 用例: 我构建了一个复杂的自定义小部件,它有几个子小部件,如QPushButton、QLabel等 正如应用程序逻辑所要求的,当创建小部件时,这些子组件中的大多数是不可见的,但在设计时,当我把它放在一个表单上时,我希望看到它们 能够在设计时使用样式表。 目前我得到的是一个空视图,它只是构造函数-最小视图的结果(在我的例子中实际上是空的) 我想要的是能够做一些像如何知道小部件当前正在Qt Designer中运行,qt,qt4,designer,qwidget,Qt,Qt4,Designer,Qwidget,在自定义Qt小部件的代码中,我如何知道它当前在Qt设计器中实例化 用例: 我构建了一个复杂的自定义小部件,它有几个子小部件,如QPushButton、QLabel等 正如应用程序逻辑所要求的,当创建小部件时,这些子组件中的大多数是不可见的,但在设计时,当我把它放在一个表单上时,我希望看到它们 能够在设计时使用样式表。 目前我得到的是一个空视图,它只是构造函数-最小视图的结果(在我的例子中实际上是空的) 我想要的是能够做一些像 MyQWidget::(QWidget *parent) { ...
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、 小部件的外观如何?我想让可视化设计器的外观和感觉尽可能接近用例。考虑文本字符串列表小部件,您希望在设计时看到小部件中的一些甚至无意义的字符串,以了解它将如何运行时间。