QT 创建子窗体
来源:互联网 发布:linux select事件类型 编辑:程序博客网 时间:2024/05/17 19:16
Qt创建子窗体这里说明一点问题;
一:子窗口创建方式:
Qt窗体上的子窗体一般是“new”创建的,当父窗体删除的时候,同时也会清理相关的子窗体;
如果子窗体不是“new”创建的,而是用static变量创建,关闭父窗体的时候会程序崩溃,原因应该是父窗体删除到static子窗体时不对;
如:
//主窗体函数:
void slot_newWidget()
{
//这样会导致问题;
// static NewQWidget1 nqwt(this);
// nqwt.show();
//一般创建方法:
NewQWidget1 * pNewQWidget1 = new NewQWidget1(this);
pNewQWidget1->show();
}
二:子窗口设置方式:
(1):通常情况下,对于一个继承与QWidget的子窗体,直接 new NewQWidget1(this);(或setparent(this)) 参数设置为父窗体,然后 show(),这样就可以在指定窗口上创建子窗口;
(2):如果 一个窗口继承与QDialog,用这种方法,
NewQWidget1 * pNewQWidget1 = new NewQWidget1(this);
pNewQWidget1->show();
只是创建了一个非模态对话框,如果想要这个飞模态对话框显示到指定窗口上,解决方法:
设置这个窗口的属性:
(1):pNewQWidget1->setWindowFlags(Qt::Widget); //直接设置QDialog为QWidget;
pNewQWidget1->show(); //设置后重新显示;
(2):
pNewQWidget1->setWindowFlags(Qt::SubWindow); //设置QDialog为子窗口属性;
pNewQWidget1->show(); //设置后重新显示;
(3):
pNewQWidget1->setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint);//设置自定义无边框窗口;
pNewQWidget1->show(); //设置后重新显示;
以上简单列举三种方法,但是可以根据具体需求设置;
- Qt创建子窗体
- QT 创建子窗体
- 子窗体创建过程
- 子线程创建窗体
- qt 创建异形窗体
- QT透明父窗体,显示子窗体
- QT透明窗体子窗体显示
- Qt 子窗体透明度设置
- access窗体设计:创建子窗体
- Qt创建窗体的过程
- MFC中创建QT窗体
- 【实例】Qt创建不规则窗体
- MFC中创建QT窗体
- [QT创建子工程]
- Qt子窗体关闭时,不走析构函数
- Qt子窗体关闭时,不走析构函数
- qt 拖动子窗体,父窗体同时移动
- qt 怎么创建子对话
- Android Fragment——跟Activity通信
- 内联函数、宏
- Kail Linux渗透测试教程之Recon-NG框架
- mybatis 执行批量更新batch update 的方法(oracle,mysql)
- radio/checkbox/select使用JQurey的常见操作
- QT 创建子窗体
- java之学习多线程(一)
- How Hash Algorithms Work
- COGS 992 宝物筛选 裸多重背包
- 身份证号码验证算法 javascript实现
- NSString的基础方法
- Cocos2D-X设计模式:单例模式
- hadoop2企业级集群部署(DNS域名解析+NFS密钥共享+AWK批量复制)
- truncate与delete的区别