w.setWindowTitle(QString("窗口名"));
w.show();
b.setText("按钮名");
b.show();
/* 默认是隐藏的,得显示调用显示 */
/* 如果不指定父对象,对象和对象(窗口和窗口)之间是相互独立的 */
/* b指定w为它的父对象,b放在w上面 */
指定父对象的2种方式
setParent
- 通过构造函数传参
/* 指定父对象,只需要父对象显示,上面的子对象自动显示 */
b.setParent(&w);
w.show();
/* QPushButton b(&w);
注意:
-
在主控件的构造函数中创建子控件时注意全局变量与局部变量的区别
-
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关键字修饰 */
原文链接: https://www.cnblogs.com/RSheng16/p/12757647.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/343766
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!