首页
登录 | 注册

关于自定义widget在desiner中的转换

 常用的有两种方法:
 1. 提升(promoted)方法
 2. 插件plus方法
 
 方法1又分两种情况:
 1. 源文件情况
 2. 库文件情况
 
 一般说的Promoted指提升中的源文件情况
 这里要说的是库文件情况下,也就是生成的DLL(Lib)中自定义的myWidget调用,一般用UiLoader方式
 要求重载UiLoader,通过loader file的方法再调用
 
 主要代码如下:
 1. 加载:
 QWidget *MyUiLoader::createWidget(const QString &className, QWidget *parent, const QString &name)
{
 if(className == "myWidget")
 {
  myWidget *w = new myWidget(parent);
  w->setObjectName(name);
  return w;
 }
 else if(className == "qtLib")
 {
  qtLib *w = new qtLib(parent);
  w->setObjectName(name);
  return w;
 }
 else
  return QUiLoader::createWidget(className, parent, name);
  
}
 
2。调用:
 MyUiLoader* loader = new MyUiLoader(this);
 loader->setLanguageChangeEnabled(false);
 loader->setTranslationEnabled(false);
 QFile file("mywidget.ui");
 file.open(QFile::ReadOnly);
 m_centerWidget = loader->load(&file, this);
 file.close();
 
 setCentralWidget(m_centerWidget);
 qtLib *aaa = qFindChild(m_centerWidget, "aaa"); //此对象为Promoted的

注意:运行时一定要将UI文件放到对应的位置上

相关文章

  • 什么是公网IP、内网IP和NAT转换?
    1.引言 2.每台电脑都必须要一个公网IP吗? 我们都知道,IPv4中的IP地址的数量是有限的(所以现在都在搞IPv6嘛),每次把一部分地址分配出去,那么就意味着能够用来分配的IP地址就更少了,而且随着现在手机,电脑等的快速发展,如果每个手 ...
  • 转换为HTML时将图片保存为光栅格式 Aspose.Pdf for .NET有一个非常强大的功能就是转换PDF文件为DOC.DOCX.image.HTML以及其他各种格式.在PDF to HTML格式的转换过程中,PDF文件中的图片将被保存 ...
  • Skr!纯前端控件集 WijmoJS 2018V2发布,在React、Vue和Angular中的更易用
    近日,WijmoJS 2018V2 正式发布,提供基于VSCode/在线Web设计器,可动态设计Web页面并生成代码,提供 SASS 支持,大幅提升控件集的稳定性和速度. WijmoJS设计器 – 无代码配置时代全面来临 l VSCode设 ...
  • 1. 装箱.拆箱还是别名2. 数值类型之间的相互转换3. 字符的 ASCII 码和 Unicode 码4. 数值字符串和数值之间的转换5. 字符串和字符数组之间的转换6. 字符串和字节数组之间的转换7. 各种数值类型和字节数组之间的转换8. ...
  • java编程中的异常分析及面向对象的思考总结[图]
    java编程中的异常分析及面向对象的思考总结[图] 1.异常: 程序中出现的不正常现象. 2.异常的由来: 程序在运行的过程中出现了不正常的情况,程序把它看成对象提取了属性行为(名字,原因,位置等信息) 形成了各种异常类 3.异常的分类:( ...
  • Java运算符: 自增和自减: 放在前面是先把变量的值加1或者减1,在参与表达式的计算. 放在后面是先参与表达式的计算,在把变量的值加1或者减1. java运算符: 1. 赋值运算符: =  2. 算术运算符: +,-,*,/ 3. 自增和 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.012 s.
苏ICP备12049786号-20