zoukankan      html  css  js  c++  java
  • 2.在窗口中添加按钮

    按钮控件

    //头文件
    #ifndef MYWIDGET_H
    #define MYWIDGET_H
    
    #include <QWidget>
    #include <qpushbutton.h>
    
    
    class MyWidget : public QWidget
    {
        Q_OBJECT
    
    public:
        MyWidget(QWidget *parent = 0);
        ~MyWidget();
    private:
        QPushButton b1;
        QPushButton * b2;
    };
    
    #endif // MYWIDGET_H
    
    
    //CPP文件
    #include "mywidget.h"
    
    MyWidget::MyWidget(QWidget *parent)
        : QWidget(parent)
    {
        //初始化
        //创建按钮需要依附于父类MyWidget,所以添加this
        //b2创建的是指针类型,所以需要先创建个对象将地址放进去,调用方法用指针的->
        //Qt自带内存回收机制,不用释放b2,适用于QOBJECT直接/间接派生类
        b2=new QPushButton("b2",this);
        //父窗口显示的时候,子窗口也会显示
        //b2->show();
        //b1创建的是QPushButton类对象,所以直接用.调用
        b1.setText("b1");
        b1.setParent(this);
        //坐标
        b1.move(100,100);
    }
    
    MyWidget::~MyWidget()
    {
    
    }
    
    

    如何创造一个按钮?

    1. 实例化按钮对象QPushButton
    2. 调用相应的方法

    在程序里面讲授了两种方法:

    直接创建对象

    QPushButton b1;
    b1.setText("b1");
    b1.setParent(this);
    b1.move(100,100);
    
    • b1.setParent(this);这个函数作用是设置这个对象的父类为顶部窗口,将按钮依附.
    • b1.move(100,100);这个方法作用是移动按钮位置.

    创建相应的指针,分配内存.

    b2=new QPushButton("b2",this);
    

    Qt自带内存回收机制,不用释放b2,适用于QOBJECT直接/间接派生类

    内存回收机制

    自动回收

    1. QOBJECT直接/间接派生的类.
    2. 指定父类,父类析构的时候,先析构子类.

    从零开始创建带按钮的界面

    首先新建个Class,基类选择QWidget,创建后出现一个.h文件一个.cpp文件.
    将.h包含进main文件中.
    在.h文件中加入代码:

    #include <QPushButton>
    

    在Class中定义一个private权限的QPushButton对象.

    QPushButton b1;
    

    在构造函数中调用各种方法.

    b1.setText("Button1");//文本显示
    b1.setParent(this);//父类设置
    b1.move(100,100);//移动
    

    在main()函数中调用:

    MyWidget w;
    w.show();
    
  • 相关阅读:
    构造函数与其他类方法的区别
    将博客搬至51CTO
    易错点
    c++类构造函数详解
    将博客搬至CSDN
    实数,有理数,无理数,自然数,整数的概念分别是什么?
    code for qint function
    spline和Pchips的不同(matlab)
    Pseudocode MD5 CODE
    git基础介绍
  • 原文地址:https://www.cnblogs.com/cnleika/p/10525942.html
Copyright © 2011-2022 走看看