Qt C++开发

窗口类的基类有3个:QWidget,QMainWindow,QDialog,默认使用QWidget。
QPushButton:按钮控件,在无ui设计师页面时使用,一般定义为指针变量,由于Qt中的原始类型不支持拷贝构造函数,只能通过指针来使用;另外。也便于使用信号和槽机制。
对象树:Qt中创建对象时,需要提供一个QObject类型的父对象指针,这样父对象便会将这个QObject对象添加到children列表中,当父对象析构时,所有的字段项也会被析构,但注意这里的关系不是继承意义的父子关系。
对象树:创建的对象在堆区时,如果指定的父对象是QObject派生类,可以不用管理对象的释放操作。
对象树:一定程度上Qt简化了内存回收机制;但delete栈上的对象会导致内存出错;另外,child对象也不知道自己是否被delete掉,可能会出现野指针。
Qt的坐标系:左上角为0,0点,x向右为正方向,y向下为正方向。
自定义信号:
    signals:    //写在signals标记中
        void fun(int a);    //返回值void,只需声明,无需实现;可以有参数,支持重载
自定义槽:
    public slots:    //早期Qt版本中,只能写在public slots中,高级版本可以写到public或者全局下
        void handle(int a);    //可以有返回值(信号和槽是去耦合的方案,不建议有返回值);可以有参数,支持重载
信号与槽连接:connect(1,2,3,4)
    1:信号的发送者
    2:发送的信号(函数地址-函数指针)
    3:信号接收者
    4:信号处理器(槽函数地址-函数指针)
QString转char*:qs.ToUtf8()转为QBytyArray;.Data()转为char*。
断开连接:disconnect(1,2,3,4);    //参数和connect一致。


 

发布了31 篇原创文章 · 获赞 1 · 访问量 1160

猜你喜欢

转载自blog.csdn.net/quietbxj/article/details/105371322