zoukankan      html  css  js  c++  java
  • 2指定父对象

    手动创建

    添加一个空项目

    选择【choose】进行下一步。设置项目名称和路径 —> 选择编译套件 --> 修改类信息 --> 完成(步骤同上),生成一个空项目。在空项目中添加文件:在项目名称上单击鼠标右键弹出右键菜单,选择【添加新文件】

     

    弹出新建文件对话框

     

    在此对话框中选择要添加的类或者文件,根据向导完成文件的添加。

    .pro文件

    QT+=widgets          //确保QT5版本使用

    main.cpp文件

    #include <QApplication>

    #include <QWidget>

    int main(int argc,char *argv[])

    {

        QApplication App(argc,argv);

        QWidget w;

        w.setWindowTitle("QT");      //设置窗口名称

    w.show();

        return App.exec();

    }

    添加按钮控件

    添加头文件:#include <QPushButton>后在main函数中添加以下代码:

    QPushButton push;

    push.setText("QT");

    push.show();

     

    此时发现,添加按钮控件并不在窗口中。

    指定父对象

          目的:使按钮控件作为窗口的子对象,在窗口中显示。如果不指定父对象,对象和对象(窗口与窗口)之间相互独立,没有关系。

          A指定b为它的父对象,那么a将放在b的上面

    方式:

    1. 利用setParent()函数。
    2. 通过构造函数传参。

    注意:指定父对象,只需要父对象显示,上面的子对象自动显示。

    代码如下:

    //方法一:利用setParent指定父窗体

        QPushButton push;

        push.setParent(&w);    

        push.setText("QT");     //按钮内容

        push.move(100,100);     //按钮位置

        push.show();

        //方法二:在构造函数中指定父窗体

        /*

        QPushButton push(&w);

        push.setText("QT");

        push.move(100,100);

        push.show();

    */

    结果图,可以看到按钮在窗口中,坐标为(100,100)。注意:若不指定坐标则默认为(0,0)。即靠近做上角

     

    Main文件源代码:

    #include <QApplication>

    #include <QWidget>

    #include <QPushButton>

    int main(int argc,char *argv[])

    {

        QApplication App(argc,argv);

        QWidget w;

        w.setWindowTitle("QT");

        //方法一:利用setParent指定父窗体

        QPushButton push;

        push.setParent(&w);

        push.setText("QT");     //按钮内容

        push.move(100,100);     //按钮位置

        //方法二:在构造函数中指定父窗体

        /*

        QPushButton push(&w);

        push.setText("QT");

        push.move(100,100);

        */

        w.show();     //显示窗口,自动显示子对象内容,即不需要push.show()

        return App.exec();

    }

  • 相关阅读:
    js监听对象属性的改变
    js中的垃圾回收机制
    防抖和节流
    Ajax的浏览器缓存问题及解决方法
    Java多线程系列---“基础篇”07之 线程休眠
    Java多线程系列---“基础篇”06之 线程让步
    Java多线程系列---“基础篇”05之 线程等待与唤醒
    Java多线程系列---“基础篇”04之 synchronized关键字
    Java多线程系列---“基础篇”03之 Thread中start()和run()的区别
    Java多线程系列---“基础篇”02之 常用的实现多线程的两种方式
  • 原文地址:https://www.cnblogs.com/gd-luojialin/p/9215678.html
Copyright © 2011-2022 走看看