zoukankan      html  css  js  c++  java
  • QT信号和槽,以及设计器的使用,还有怎样用ui文件

    一.如何使用c++方式编写qt的代码
       1.类的实例就是一个带有组件的父窗口 自己的类就要
         继承QWidget  或者 子类 QDialog  QMainWindow
       2.窗口中的组件  都要做为自定义类的成员变量
       3.类的头文件  和 实现文件 要分离实现
       4.如果类中有自定义的信号 和槽函数 则需要在头文件中
         出现一个宏 Q_OBJECT
          
    二.信号和槽
       2.1信号和槽是qt编程的基础 和 核心   可以关联两个毫不相关
       的对象。
       2.2当信号和槽绑定时  没当发射 或者 触发这个信号时 就自动
       调用这个槽函数。
       2.3信号和槽函数的声明
       public slots:
       void    show();
       public:signals:
       void    mySig();
       2.4如果类中有自定义的信号和槽需要声明
          一个宏     Q_OBJECT
       2.5 连接信号 和 槽 使用
          QObject::connect(const QObject* sender,
                           const char*    signal,
                           const QObject* reciver,
                           const char*    method);     
          QObject::connect(a,SIGNAL(t()),b,SLOT(g()));
       2.6 断开信号 和 槽的连接
          QObject::disconnect(const QObject* sender,
                           const char*    signal,
                           const QObject* reciver,
                           const char*    method);
       2.7 一个信号 可以连接到多个槽
          QObject::connect(a,SIGNAL(t()),b,SLOT(g()));
          QObject::connect(a,SIGNAL(t()),c,SLOT(gg()));
          QObject::connect(a,SIGNAL(t()),d,SLOT(ggg()));  

       2.8 一个槽 可以连接多个信号
          QObject::connect(a,SIGNAL(t()),b,SLOT(g()));
          QObject::connect(c,SIGNAL(m()),b,SLOT(g()));
       2.9 一个信号 和 连接到 另外一个信号
          当一个信号 发射之后 会触发另外一个信号
          这个信号可以传递下去
          QObject::connect(a,SIGNAL(t()),b,SIGNAL(h()));  
          QObject::connect(b,SIGNAL(h()),c,SLOT(cs()));  
       2.10 当删除对象时  和 这个对象关联的所有连接
          就会自动断开。
       2.11 是不是任意的信号  可以 和任意的槽进行连接?
          不是。
          信号和槽 连接时 要有相同的参数类型 相同的参数顺序
          相同的参数个数。
          信号 和 槽 如果带参 需要出现参数的类型。
       2.12 想让任意的信号  和 任意的槽进行连接?
          直接在自定义的槽函数 调用 最终的槽函数
          QPushButton   clicked()
          QLabel        setText(QString)   
        
          自定义槽函数  结合自定义信号完成
          (线程中的数据 一般是通过信号通知线程外的访问)
    三.设计器的使用
       designer   可见即所得的编辑器
       设计界面   把窗口部件盒中的组件 拖拽到 合适位置
       鼠标可以改变组件的位置和 大小
       选中组件 可以复制  可以删除
           使用方向键 改变组件的位置  每次 10px
           ctrl+方向键改变组件的位置  每次 1px
       双击改变文字
       shift  + 方向键    改变组件的大小  每次 10px
       ctrl+shift +方向键    改变组件的大小  每次 1px

       通过属性编辑器(ctrl+i)  控制组件的相关属性  
           对象名  以及其它显示属性
       对象察看器  查看对象之间的组织关系   确定对象名和
           对象的类型。

       最终得到界面文件  ***.ui
     
    四.如何使用 ui文件
       4.1 把ui文件转换成 .h 文件
           uic    jfq.ui  -o jfq.h
       4.2 jfq.h 就是代表界面的文件
       4.3 使用生成的jfq.h
           定义新的.h 文件  使用jfq.h 中的类
           做界面类的指针              
           实现这个头文件
       4.4 创建界面  加载界面
       4.5 如果实现功能
           要访问界面中的组件  需要通过 ui访问

  • 相关阅读:
    MySQL 5.7.18 zip 文件安装过程
    Mysql 自定义随机字符串
    JAVA基本类型和引用类型
    初识JSP
    Java导出错误数据
    时序图的使用习惯
    Redis踩坑
    ES踩坑
    代码规范
    Git在公司的使用流程
  • 原文地址:https://www.cnblogs.com/JohannaFeng/p/4728546.html
Copyright © 2011-2022 走看看