Qt 5.8下自定义控件属性栏属性自我添加

来源:互联网 发布:金十数据官网外汇 编辑:程序博客网 时间:2024/05/21 06:39

        写完《CentOS 7.0Qt5.8实现和使用Qt Creaor自定义控件》后,很自然的就想到了,把自定义控件做成和Qt Creator中的控件那样,可以直接在属性栏中对其属性进行配置。说起来其实很简单,只需要掌握Q_PROPERTY的知识点,以及在自定义控件项目文件的构造函数中,把需要显示到Qt Creator属性栏中的属性进行设置即可。

       环境还是Qt 5.8 CentOS7.0

       首先上个效果图:m_dCurrentValuem_nRadius是我自己添加的控件属性)



     步骤如下:

    1)在自定义控件的头文件中,对需要定义为属性的变量使用Q_PROPERTY宏进行定义Q_PROPERTY的用法可以参考帮助,也可以查看网上的文章,个人推荐一去二、三里的Qt之属性系统。个人觉得看完了你对Q_PROPERTY宏的用法就很清楚了。我在上篇文章中写的DashBoard(表盘控件)把当前值和表盘半径改成了属性。头文件修改两个地方:

        a)在QDashBoard头文件中用Q_PROPERTY设置当前值和表盘半径两个属性;代码如下:
               Q_PROPERTY(double m_dCurrentValue READgetValue WRITE setValue)
               Q_PROPERTY(int m_nRadius READgetRadiusValue WRITE setRadiusValue)
        b)
添加m_dCurrentValuem_nRadius两个属性值的读写操作函数定义即getValuesetValuegetRadiusValuesetRadiusValue,即
               void setValue(double dValue);
               double getValue();
               int getRadiusValue();
               void setRadiusValue(int nValue);

    2)在控件的实现文件中,实现上面那四个函数;很简单就是设置值,返回值这样的代码。
    3
)在控件实现文件的构造函数进行属性初始设置,代码如下:

           setProperty("m_dCurrentValue",20);
           setProperty("m_nRadius",180);

   4)编译后,生成新的libdashboardplugin.so,进行库文件和头文件更新。(这部分可以看我之前的文章,那里说的比较清楚)

        a) 把libdashboardplugin.so拷贝到Qt到QtCreator plugin目录下以及自定义控件库位置。

            我的plugin目录位置:/opt/Qt5.8.0/Tools/QtCreator/lib/Qt/plugins/designer,我的自定义库文件位置是:usr/mylib;

         b)把新的qdashboard.h文件拷贝到Qt Creatorinlude目录下,我的include目录位置在:opt/Qt5.8.0/5.8/gcc_64/include。

    5)打开测试工程MyTest,将原来的QDashBoard控件删除,重新拖拽一个QDashBoard控件上去,就可以出现你添加的属性了。

    到此结束。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 内痔大便出血怎么办 mac暂存盘已满怎么办 体检大便拉不出怎么办 体检拉不出大便怎么办 大便霉菌感染怎么办 消化不良腹泻怎么办 宝宝拉稀怎么办 有霉菌怎么办 宝宝大便绿色怎么办 验大便腹泻怎么办 雄性激素过多怎么办长痘痘 气血旺盛怎么办 慢性肠炎怎么办 结肠多发息肉怎么办 结肠息肉怎么办 大便出血怎么办啊 痔疮大便出血怎么办 大便痛出血怎么办 小孩大便流血怎么办 宝宝大便干有血怎么办 屁眼红肿发炎怎么办 肛门附近红肿怎么办 大便流血了怎么办 拉大便出血怎么办 小孩便秘出血怎么办 婴儿拉屎有奶瓣怎么办 婴儿老是拉奶辨怎么办 婴儿总是拉奶瓣怎么办 婴儿大便拉奶瓣怎么办 宝宝大便奶瓣多怎么办 新生儿拉奶瓣是怎么办 婴儿粑粑有奶瓣怎么办 婴儿吐奶有奶瓣怎么办 新生儿老拉奶瓣怎么办 新生儿拉奶瓣怎么办 精神紧张腹泻怎么办 神经性腹泻怎么办 宝宝拉奶瓣怎么办 拉肚子治不好怎么办 经常拉肚子该怎么办 拉肚子缺钾怎么办