0

我很不耐烦,不喜欢阅读有关我想学的东西的书籍或教程。也就是说,我几乎总是会准备好工具链,并开始用任何疯狂的想法来启动代码。

Scala 今天引起了我的兴趣,我立即使用 Scala 插件设置了 IDEA 以开始使用......现在,我对语法以及为什么 Scala 有这么多 Awesome-Sauce 有了一些了解,所以我决定用另一个来测试它我不知道的技术:QT,尤其是 QtJambi。我将 QtJambi dist 导入 IDEA 项目结构并编写了以下代码段:

import com.trolltech.qt.gui._

class MyMainWindow extends QWidget {
  def showWindow = {
    setWindowTitle("Scala Jambi Test")

    resize(250, 250)
    move(300, 300)

    show()
  }
}

object MainApp extends QWidget() {
  def main(args: Array[String]) {
    QApplication.initialize(args)

    new MyMainWindow().showWindow

    QApplication.exec
  }
}

它编译并运行,但我在控制台上得到了这个:

QWidget:必须在 QPaintDevice 之前构造一个 QApplication

任何关于我做错了什么的想法都值得赞赏。

我可能会在具有相同库的标准 java 项目上添加相同的代码确实有效。

4

1 回答 1

1

问题是MainApp扩展QWidget,我删除了扩展,事情就突然发生了。如果有人知道为什么请发表评论,我很想知道为什么会出错。

于 2013-08-08T22:10:49.930 回答