나는 배울 내용에 대한 책이나 튜토리얼을 좋아하지 않으므로 참을성이 없습니다. 즉, 나는 거의 항상 툴체인을 준비 할 것이고, 미친 아이디어가 내 머리에 들어간다해도 코드를 껐을 것입니다.QtJambi는 QApplication을 만들지 않습니다. - Scala
스칼라가 오늘 나의 관심을 불러 일으켰습니다. 시작하기 위해 스칼라 플러그인으로 IDEA를 설치해 보았습니다 ... 지금은 구문에 대한 지식이 있고 스칼라가 굉장한 양의 스콘을 가지고있는 이유는 무엇입니까? Qt, 특히 QtJambi : 내가 모르는 다른 기술로 그것을 밖으로. 나는 IDEA 프로젝트 구조로 QtJambi의 DIST 수입이 조각 썼다 :
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 프로젝트에서 동일한 코드가 작동한다고 추가 할 수 있습니다.
'object' 키워드는 상속에 의한'QWidget'이기도 한'MainApp' 싱글 톤 인스턴스의 생성을 의미합니다. 따라서'MainApp' 객체 인'QWidget'은 실제로'main 'QApplication'을 인스턴스화하는 함수가 호출됩니다. – alexisdm
설명을 위해 많은 감사를드립니다. – Machinarius