zoukankan      html  css  js  c++  java
  • 什么情况下可以不创建QCoreApplication

    Under what circumstances do I not need to create a
    QApplication/QCoreApplication?
    https://snapbrowse.com/browse.php/Oi8vbGlzdHMudHJvbGx0ZWNoLmNvbS9xdC1pbnRlcmVzdC8yMDA2LTAyL3RocmVhZDAxNTQwLTAuaHRtbA_3D_3D/b0/fnorefer/
     
    That not really true if said like that. There are quite a bunch of
    classes (for example QString and all the containers) which can probably
    be safely used without a QCoreApplication object. Also basic
    signals/slots work without QCoreApplication (see attached files), from
    QCoreApplications documentation it looks to me that as long as you don't
    need Qt's event loop (either directly or one of the classes you use
    needs it) your safe without the QCoreApplication object. 
    
    However TT recommends to use a QCoreApplication, thus as long as you
    don't want to utilize another event-loop (from another lib) you should
    either already know that you don't need it or better use a
    QCoreApplication object.
    
    Andreas
    
    -- 
     [ signature omitted ] 
    
    #include <myobj.h>
    #include <iostream>
    
    int main(int argc, char *argv[])
    {
    	std::cout << "Creating myobj\n";
    	myobj* o = new myobj();
    	o->method1();
    	std::cout << "Deleting myobj\n";
    	delete o;
    	exit(0);
    }
    
    
    #include <iostream>
    
    #include <iostream>
    #include <myobj.h>
    
    myobj::myobj(QObject* parent)
    	: QObject(parent)
    {
    	connect(this, SIGNAL(signal1()), this, SLOT(slot1()));
    }
    
    void myobj::method1()
    {
    	std::cout << "method1 of myobj called\n";
    	emit signal1();
    }
    void myobj::slot1()
    {
    	std::cout << "slot1 of myobj called\n";
    }
    
    
    #include <QObject>
    
    #include <QObject>
    
    class myobj : public QObject
    {
    	Q_OBJECT
    	public:
    		myobj(QObject* parent = 0);
    		void method1();
    	public slots:
    		void slot1();
    	signals:
    		void signal1();
    };
    
  • 相关阅读:
    欧拉回路一个定理的证明
    NOIP2018 初赛数学第二题解析
    linux 减少Terminal路径的方法
    网络挖坑
    linux 记录
    河南游记 Day0

    NOI2018 Day 1 你的名字
    大佬的几行fastIO
    Codeforces 781B. Innokenty and a Football League
  • 原文地址:https://www.cnblogs.com/cute/p/2096696.html
Copyright © 2011-2022 走看看