QT 关闭主窗口,触发关闭所有打开的窗口-编程10000问-电脑编程网QT 关闭主窗口,触发关闭所有打开的窗口作者:slsinsiston 和相关&&
之前碰到这个问题,今天解决了。
主窗口设置属性Qt::WA_QuitOnClose
w.setAttribute(Qt::WA_QuitOnClose,true);
Qt::WA_QuitOnClose属性是使窗口如果是最后一个关闭的时候触发事件lastWindowClosed();
然后主程序收到事件退出&a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
现在问题是自己定义的子窗口打开的时候,它们默认Qt::WA_QuitOnClose也是true,所以如果主窗口关闭的时候有别的窗口开着,(除了一些暂时性的窗口——如启动界面、工具窗口、弹出菜单)程序还是不会退出,而是等到最后一个窗口关闭之后才退出。
所以现在要把别的窗口的Qt::WA_QuitOnClose设为false。
XX.setAttribute(Qt::WA_QuitOnClose,false);
这样关闭主窗口的时候,主程序就会退出,其他窗口也会关闭。
相关资料:|||||||QT 关闭主窗口,触发关闭所有打开的窗口来源网络,如有侵权请告知,即处理!编程Tags: & > 天涯明月刀内置QT语音如何禁用或全部删除
天涯明月刀内置QT语音如何禁用或全部删除
发布时间:15-06-29 17:44
来源:52pk
作者:52pk
责任编辑:路遥
天涯明月刀热门资料推荐
更多持续更新中
天涯明月刀也有内置QT语音,很多腾讯游戏都会内置QT,主要是方便玩家在游戏中通过语音交流互动,不过有部分玩家不喜欢使用QT语音或者是经常出现他人QT没关导致各种杂音影响游戏情绪,有时候还是相当令人反感的,如何能够不使用游戏内自带的QT语音呢?下面为大家介绍一下删除天涯明月刀也有内置QT语音两个办法。
方法①,强行删除
这个方法比较简单暴力,不过有部分玩家担心这样删除之后会导致游戏程序错误,也有部分玩家反馈这样的改动会在不断更新中得到修复,所以说删除并不是一劳永逸的方法,不过确实可以解决大部分玩家困扰的内置QT问题。
内置QT文件所在的文件夹位于玩家***游戏的目录下,有个Cross文件,里面包含着天涯明月刀一些占用资源的内容,而官方在微博中明确表示玩家可以彻底删除这个文件以减少游戏的卡顿情况。Cross下的路径AppsCQSQTalk就是QT文件所在的位置,玩家可以把文件内的东西全部删除,也可以选择将整个Cross文件全部删除,玩家再次登录游戏即可发现QT语音不见了。
方法②,本地安全策略禁用
这种方法比较一劳永逸一些,而且不会出现玩家担心的因为删除内容而导致客户端无法使用的囧境。玩家可以在控制面板中打开系统和安全,在最下面可以看到管理工具,打开其中的本地安全策略页面。
本地安全策略
*网友评论仅代表其个人看法,并不表明本站同意其观点及描述。
Copyright © 2002- 版权所有 52PK游戏网 渝ICP证B2-号 渝网文(-010号qt程序如何退出? - QTCN开发网 - Powered by phpwind
查看完整版本: [--
qt程序如何退出?
我在main函数中显示调用exit或者quit,程序均不能退出,为什么?代码如下:int main(int argc, char *argv[]){&&&&QApplication a(argc, argv);&&&&a.exit();&&&&MainW&&&&mw.showMaximized();&&&&a.exec();如果没有后面的MainWindow,那么程序后闪一下就退出,但是任务管理器里面还能看到这个进程。如果有后面的MainWindow对象,这个窗口会继续生成并显示。请问要如何关闭窗口?谢谢。
把a.exit();换成return 0;
多看看Manual,(***都太明确了):void QCoreApplication::exit(int returnCode = 0)After this function has been called, the application leaves the main event loop and returns from the call to exec(). The exec() function returns returnCode. If the event loop is not running, this function does nothing.
非常感谢 。 试了一下,确实可以。
多谢&&dbzhang800
:多看看Manual,(***都太明确了):void QCoreApplication::exit(int returnCode = 0)....... 英语不好,我理解上面那句话的意思应该是,在没有进入事件循环时,这个exit函数没有作用我的使用场景是这样的:程序运行后,先弹出登录框,登陆成功后才进入主窗体。int main(int argc, char *argv[]){&&&&QApplication a(argc, argv);&&&&DlgL&&&&if( login.exec() == QDialog::Rejected )&&&&{&&&&&&&&qDebug()&&&exit&;&&&&&&&&a.exit();&&&&}&&&&// .....MainWmw.show();&& a.exec();}如上所示,我在第7行后面加上a.exit()是没有作用的。因为的登录窗口保留了关闭和最小化按钮,当关闭时,我想让整个程序退出来。[attachment=13365]
int main(int argc, char *argv[]){&&&&QApplication a(argc, argv);&&&&DlgL&&&&if( login.exec() == QDialog::Rejected )&&&&{&&&&&&&&qDebug()&&&exit&;&&&&&&&&a.exit();&&&&&&&&return 0;&&&&}&&&&else&&&&{&&&&&&&&// .....&&&&&&&&MainW&&&&&&&&mw.show();&&&&&&&&return a.exec();&&&&}}要不试试这样?
查看完整版本: [--
Powered by
Gzip disabled最近一段时间比较忙,博客基本没有打理,如有问题可以直接留言,:-D
> QT拦截QMdiSubWindow关闭消息
今天用QT做了一个模块儿,其中用到了QMdiArea这个东西,我需要获取到QMdiSubWindow关闭的消息,其实QMdiSubWindow不是关闭了,是隐藏了,为了节省内存,如果你想在MdiArea中恢复一个已经”关闭”的Sub窗口你应该去通过对应的Sub窗口的指针shownormal()显示出来;这里我分享一下我拦截Sub窗口”关闭”的操作代码.(QT工程在最后)
我的解决方法是通过重写QMdiSubWindow,在event函数中去拦截Close的事件,下面是我的相关操作类的信息:
MainWindow,主界面类
MySubWindow 继承自 QMdiSubWindow,用来拦截事件,注意这个类的构造函数,用这个 MySubWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0);
MyWidget,任意一个窗口,用于显示在MySubWindow中做参照
我们首先在MainWindow中先将界面显示出来,代码如下:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
ui-&setupUi(this);
this-&showMaximized ();
//创建一个Mdiarea
QMdiArea *mdiArea = new QMdiArea(this);
//创建SubWindow
MySubWindow *subWindow1 = new MySubW
//添加Widget
MyWidget* pWidget = new MyWidget();
subWindow1-&setWidget(pWidget);
subWindow1-&setAttribute(Qt::WA_DeleteOnClose);
//添加SubWindow
mdiArea-&addSubWindow (subWindow1);
//显示Area
this-&setCentralWidget (mdiArea);
在MySubWindow中重写
event(QEvent *e) 这个函数:
bool MySubWindow::event(QEvent *e)
if(e-&type()==QEvent::Close){
qDebug()&&&Close\n&;//打印一个关闭的信息,可以看到SubWindow并没有关闭
e-&ignore ();//忽略关闭用于测试
//返回true表示 阻止event
return QMdiSubWindow::event(e);
注意event的返回值,这里是QT官方的even函数信息http://doc.qt.io/qt-4.8/eventsandfilters.html
来看一下操作的效果,就只是输出了Close的日志,子窗口还是没有关闭.
文中相关的QT工程:
百度网盘: 密码: vr5h
转载请注明: &
or分享 (0)您所在的位置: &
QT语音怎么关闭开机启动
时间: 17:40:58
编辑:xwgod
来源:下载吧
QQTalk(QT语音通信工具)是一款支持多人语...
我们***了腾讯的QT语音软件,但是已启动电脑,QT语音就会一起启动,这样就有些不爽了,我们来了解下如何关闭它的自己启动。 首先打开自己***好的QT语音,用自己的QQ帐号登录QT语音 在右上的下拉小箭头下选择系统设置 左边的热键设置里,把开机时自己启动的钩去掉,这样就可以了 也可以通过第三方安全软件来关闭启动,比如说打开360安全位置,选择优化加速 在启动里把QT语音禁用掉即可。
分享给朋友:
QT语音怎么关闭开机启动相关教程
下载1806次
下载1790次
下载1089次
下载1516次
下载1195次
热门关键字