首页 > 其他 > 详细

Qt基础

时间:2020-04-23 00:32:37      阅读:68      评论:0      收藏:0      [点我收藏+]
w.setWindowTitle(QString("窗口名"));
w.show();
b.setText("按钮名");
b.show();
/* 默认是隐藏的,得显示调用显示 */
/* 如果不指定父对象,对象和对象(窗口和窗口)之间是相互独立的 */
/* b指定w为它的父对象,b放在w上面 */

指定父对象的2种方式

  1. setParent
  2. 通过构造函数传参
/* 指定父对象,只需要父对象显示,上面的子对象自动显示 */
b.setParent(&w);
w.show();
/* QPushButton b(&w);

注意:

  1. 在主控件的构造函数中创建子控件时注意全局变量与局部变量的区别

  2. QPushButton b1;
    QPushButton *b2;
    /*********************************/
    b1.setParent(this);
    /* b2.setParent(this);    // 错误 */
    b2 = new QPushButton(this);
    
    

Single and slot

(自定义信号与槽函数)

两个独立窗口,利用自定义信号,实现子窗口控制主窗口显示。

emit mySignal();

(带参数的信号与槽函数)

emit mySignal(250, "Wo");
/* 信号可以重载 */

利用函数指针来处理信号重载调用问题。

void (SubWidget::*funSignal)() = &SubWidget::mySignal;
connect(&subWin,funSignal,this,&MainWidget::dealSub);

void (SubWidget::*testSignal)(int, QSting) = &SubWidget::mySignal;
connect(&subWin,testSignal,this,&MainWidget::dealSlot);

Qt4信号连接

connect(&subWin,SIGNAL(mySignal()),this,SLOT(dealSub()));
connect(&subWin,SIGNAL(mySignal(int, QSting)),
        this,SLOT(dealSlot(int, QSting)));
/* SIGNAL SLOT 将函数名字——>>字符串, 不利于错误检查 */
/* Qt4槽函数必须有slot关键字修饰 */

Qt基础

原文:https://www.cnblogs.com/RSheng16/p/12757647.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!