커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
237
1,061
3,878
3,313,243
  현재접속자 : 31 (회원 0)






배너 신청 문의

 
작성일 : 17-01-11 10:08
[QT/Embedded] QML DIALOG를 여러개를 뛰우고 싶습니다.
 글쓴이 : 이ㅣ이…
조회 : 70   추천 : 0  
Dialog{
        id: chatdialg
        modality: Qt.NonModal
}    ->다이얼로그가 이렇게 있고

onClicked: chatdialg.open() -> 이렇게 하여서 click마다 dialog창을 각각 뛰우고 싶은데 하나밖에 안뜨는데 어떻게
dialog창을 여러개 뛰울수 있을까요?
서명



devopia 17-01-11 11:43
 
동적으로 QML 아이템이나 윈도우 등을 만들기 위해서는 createComponent()나 createQmlObject() 함수를 이용해야 합니다.

다음 예제를 참고해 보세요.

// main.qml

import QtQuick 2.7
import QtQuick.Window 2.2
import QtQuick.Controls 1.4

Window {
    id: root
    width: 200; height: 200
    visible: true

    Button {
        anchors.centerIn: parent
        text: qsTr("Click me")

        onClicked: {
            var component = Qt.createComponent("Child.qml")
            // @disable-check M126
            if (component.status == Component.Ready) {
                var dialog    = component.createObject(root)
                dialog.open()
            }
        }
    }
}


// Child.qml

import QtQuick 2.7
import QtQuick.Dialogs 1.2
import QtQuick.Controls 1.4

Dialog {
    id: chatDialog
    modality: Qt.NonModal
    width: 100; height: 100

    Text {
        anchors.centerIn: parent
        text: qsTr("Hello World.")
    }
}
구름님 17-01-12 09:41
 
데보피아님 답글에 이어 올립니다. 이렇게 코딩하셔도 됩니다.
import ...
...

Item {
    Component {
        id: dlgComponent
        Dialog {
            id: chatdialg
            modality: Qt.NonModal
            onAccepted: chatdialg.destroy() //--[1]
        } 
    }

    ...

    MouseArea {
        ...
        onClicked: {
            var dlg = dlgComponent.createObject(parent, { someProperty: someValue })
            dlg.open()
        }
    }
}

주의 사항은 메모리를 지속적으로 잡아먹게 될 것이니, 예로 기술한 [1] 처럼
적절한 곳에서 .destroy()를 호출해서 리소스 반납을 해야 합니다.
자세한 사항은 QtAssistant를 열고 'Dynamic QML Object Creation from JavaScript'로 검색해 보세요
 
 

Total 6,785
번호 제   목 글쓴이 날짜 조회 추천
6785 [QT/Embedded] cross compiler를 이용한 디버깅 방안 rkskek 01-20 23 0
6784 [QT/Embedded] qt file 송수신 관련 질문드립니다. rkskek 01-19 24 0
6783 [QT/Win32] QPainter를 이용한 rotation 질문입니다 (5) 롯시 01-18 55 0
6782 [QT/Embedded] QML TEXTAread의 글자수제한과 일정 줄이상이 되… 이ㅣ이… 01-17 29 0
6781 [QT/X11] qtcreator 에서 디버깅 걸어둔거 프로그램끄고 … (1) bash001 01-13 63 0
6780 [QT/Embedded] QT에서 휴대폰식별번호 IMEI를 받아서 구분하… (1) 이ㅣ이… 01-13 67 0
6779 [QT/Embedded] QML DIALOG를 여러개를 뛰우고 싶습니다. (2) 이ㅣ이… 01-11 71 0
6778 [QT/Embedded] qt compiler 설정 질문합니다. (3) rkskek 01-10 101 0
6777 [QT/Win32] QT GUI DLL화 관련 문의드립니다. (6) bbico 01-09 107 0
6776 [QT/Embedded] qt 설치 후 실행 에러 질문드립니다. (4) rkskek 01-07 155 0
6775 [QT/X11] 라즈베리파이 QT UART질문입니다. (2) 파랑바… 01-05 191 0
6774 [QT/Embedded] QT에 postreSQL을 연결하여 사용하는 방법이 궁… (9) 린쿤 01-05 295 0
6773 [QT/Embedded] qt 를 이용한 앱개발시 궁금한점이 있습니다. (2) 레몬과… 01-04 218 0
6772 [QT/X11] QTreeView에서 방향키를 다른 기능으로 바꾸고 … (6) pojsm 01-04 279 0
6771 [QT/Embedded] 임베디드 환경에서 스위치를 이용하여 키보… (2) pojsm 01-03 230 0
6770 [QT/X11] qt unit test는 어떻게 쓰는건가요? (2) Luke 12-26 392 0
6769 [QT/Embedded] promote 한 widget의 크기 변경 질문입니다. (1) 아아 12-22 355 0
6768 [QT/Embedded] taglib로 mp3 파일 tag read를 했을때 한글 깨짐 현… (4) dskim1223 12-22 413 0
6767 [QT/Win32] QML에서 MediaPlayer의 퍼포먼스 (3) 레드썬 12-18 420 0
6766 [QT/Win32] Qml에서 Recursive 하게 Component생성은 할 수 없나… (2) 빅토고 12-14 433 0
6765 [QT/Embedded] OpenCV 연동 관련 질문드립니다. (5) 단팥빵 12-07 498 0
6764 [QT/Win32] Qt signal & slot (3) 큐티하… 12-05 463 0
6763 [QT/Win32] QT Creator 윈도우에 opencv 함수를 이용해서 영상… (3) 시간은… 12-05 435 0
6762    [QT/Win32] QT Creator 윈도우에 opencv 함수를 이용해서 영상… devopia 12-09 339 0
6761 [QT/Embedded] qtimer를 써서 문자를 깜박거리고 싶어요 (1) 트링 12-05 361 0
6760 [QT/Embedded] tablewidget edit 모드에서 key event 문의드립니다. (2) 아아 12-05 319 0
6759 [QT/Win32] Qt 주석 한글 (1) 큐티하… 12-03 339 0
6758 [QT/X11] QML 위에 QWidget구현 (1) Luke 11-29 275 0
6757 [QT/Embedded] GUI 서버 <-> 클라이언트 앱 관련 질문!! (1) 짜대 11-29 331 0
6756 [QT/Win32] QSharedMemory 질문입니다. (7) 기가기… 11-28 527 0
 1  2  3  4  5  6  7  8  9  10    


About korone.net | Copyright 2003 korone.net. All rights reserved.