小编mur*_*alk的帖子

Linux:Qt Creator调试器在创建QQmlApplicationEngine时挂起

我正在调试Linux上的Qt Creator中的qt快速天气示例,调试器在执行以下代码时挂起:

QQmlApplicationEngine engine(QUrl("qrc:/weatherapp/qml/main.qml"));
Run Code Online (Sandbox Code Playgroud)

调试器日志不断显示:

QML调试器:没有及时收到应用程序输出,尝试连接...

我在ArchLinux x64上使用Qt Creator 3.1.1.

c++ linux debugging qt

6
推荐指数
1
解决办法
2865
查看次数

动态加载子类?

我需要按类名创建类的实例,问题是这些类碰巧是子类(我已经有了父类的实例).我记得class.forName()无法加载子类.在C++中,我可以使用从名称到静态函数指针的查找表来执行此操作,但是这个动态子类加载甚至可以在Java中加载吗?

谢谢.

UPDATE

感谢您的回答,但它看起来不适用于以下示例:

AbStractTest.java

public abstract class AbstractTest{
      AbstractTest(int i){}
      class InnerTest
      {
             InnerTest(){
                 System.out.println("inner test class");
             }
             void test(){
                 System.out.println("inner test");
             }
      }
}
Run Code Online (Sandbox Code Playgroud)

Test.java

public class Test extends AbstractTest
{
      Test(int i){
          super(i);
      }
      public static void main(String[] args) throws Exception
      {
             Test t = new Test(1);
             AbstractTest.InnerTest innerTest = (AbstractTest.InnerTest)Class.forName("AbstractTest$InnerTest").getConstructor(AbstractTest.class).newInstance(t);
             innerTest.test();
      }
}
Run Code Online (Sandbox Code Playgroud)

它最终导致以下错误:

Exception in thread "main" java.lang.NoSuchMethodException: AbstractTest$InnerTest.<init>(AbstractTest)
        at java.lang.Class.getConstructor0(Class.java:2678)
        at java.lang.Class.getConstructor(Class.java:1629)
        at Test.main(Test.java:9)
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
804
查看次数

标签 统计

c++ ×1

debugging ×1

java ×1

linux ×1

qt ×1