w.setWindowTitle(QString("窗口名"));
w.show();
b.setText("按钮名");
b.show();
/* 默认是隐藏的,得显示调用显示 */
/* 如果不指定父对象,对象和对象(窗口和窗口)之间是相互独立的 */
/* b指定w为它的父对象,b放在w上面 */
setParent
/* 指定父对象,只需要父对象显示,上面的子对象自动显示 */
b.setParent(&w);
w.show();
/* QPushButton b(&w);
注意:
在主控件的构造函数中创建子控件时注意全局变量与局部变量的区别
QPushButton b1;
QPushButton *b2;
/*********************************/
b1.setParent(this);
/* b2.setParent(this); // 错误 */
b2 = new QPushButton(this);
两个独立窗口,利用自定义信号,实现子窗口控制主窗口显示。
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);
connect(&subWin,SIGNAL(mySignal()),this,SLOT(dealSub()));
connect(&subWin,SIGNAL(mySignal(int, QSting)),
this,SLOT(dealSlot(int, QSting)));
/* SIGNAL SLOT 将函数名字——>>字符串, 不利于错误检查 */
/* Qt4槽函数必须有slot关键字修饰 */
原文:https://www.cnblogs.com/RSheng16/p/12757647.html