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






배너 신청 문의

 
작성일 : 17-01-11 10:08
[QT/Embedded] QML DIALOG를 여러개를 뛰우고 싶습니다.
 글쓴이 : 이ㅣ이…
조회 : 372   추천 : 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,829
번호 제   목 글쓴이 날짜 조회 추천
6829 [QT/X11] 리눅스 우분투 빌드 환경 다를 경우에 대한 … fgwet 03-24 14 0
6828 [QT/X11] qt 릴리즈 실행파일 생성 질문 fgwet 03-24 17 0
6827 [QT/X11] qt QScrollBar의 context menu를 event로 발생 시킬 수 … 착각은… 03-23 33 0
6826 [QT/X11] QTextEdit 라인 커스텀마이즈 질문 fgwet 03-23 23 0
6825 [QT/Embedded] 리눅스에서 qt없는 환경에서 어떻게 빌드된 … (1) 코딩개… 03-21 45 0
6824 [QT/Win32] 다른 ui파일에서 서로 수정할 수 있나요 ? (4) lol11 03-21 46 0
6823 [QT/X11] 다이얼로그 생성시 그림자 지우는법 (1) fgwet 03-21 40 0
6822 [QT/Embedded] 릴리즈로 설치파일 배포하는 방법아시는분 … (1) 코딩개… 03-17 79 0
6821 [QT/Win32] qt mariaDB 를 사용하려고 하는데 QMYSQL드라이버… (7) 코딩개… 03-16 110 0
6820 [QT/X11] 메모리 누수 관련 건 (2) fgwet 03-15 76 0
6819 [QT/X11] qt tcpip 통신 질의 (4) fgwet 03-15 83 0
6818 [QT/X11] qt paintevent가 호출이 안되네요..update() 사용 (2) 태백 03-10 132 0
6817 [QT/X11] View에서 텍스트 스크롤 처리 (2) pojsm 03-09 134 0
6816 [QT/Win32] QtableWidget을 통해 쿼리 결과 출력시 특정값가… (2) misk 03-08 183 0
6815 [QT/Win32] 웹에서 스트링을 읽어오는 건 되는데 두번 읽… (2) 코딩개… 03-06 215 0
6814 [QT/Embedded] qt pushbutton cliecked setstylesheet 질의 (1) dfwfe 03-06 163 0
6813 [QT/Win32] Qtablewidget에 쿼리 결과 출력하려고 합니다. (1) misk 03-06 154 0
6812 [QT/Embedded] qt dialog 여러개 띄울때 질문드립니다. (5) dfwfe 03-02 357 0
6811 [QT/X11] QT creator의 bookmark 저장 안되는지. (4) 레드썬 03-02 249 0
6810 [QT/Embedded] qt에서 memory copy 어떻게 하나요? (2) dfwfe 03-02 178 0
6809 [QT/Embedded] 키 이벤트 관련하여 질문드립니다.. (2) cryfreedom 03-01 190 0
6808 [QT/Embedded] Key event를 리눅스 전체에 뿌릴순 없을까요? (2) dubai 02-28 189 0
6807 [QT/Win32] QGLWidget 그림의 위치 (1) 류한v 02-27 152 0
6806 [QT/Win32] Qml 에서 텍스트 사용 팁 있을까요? (1) devilqoo 02-27 135 0
6805 [QT/Embedded] Mainwindow 상단바를 없애고 싶습니다. (2) dfwfe 02-24 179 0
6804 [QT/Win32] QLineEdit 에 Focusing 되어있을 경우, 한/영 전환… (2) 텔레포… 02-23 176 0
6803 [QT/Win32] 쿼리 결과를 Qtablewidgets에 출력하려고하는데… (6) misk 02-21 216 0
6802 [QT/Win32] Qt 에서 PDF 저장 시 벡터 그래픽으로 저장 가… (4) devilqoo 02-21 219 0
6801 [QT/Embedded] ubuntu 14.04 or 16.04에서 QT 최신버전 다운받기 (7) pojsm 02-20 243 0
6800 [QT/Win32] qt 를 처음시작하려고 하는데 실행시 응용프… (3) 코딩개… 02-20 191 0
 1  2  3  4  5  6  7  8  9  10    


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