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






배너 신청 문의

 
작성일 : 17-01-11 10:08
[QT/Embedded] QML DIALOG를 여러개를 뛰우고 싶습니다.
 글쓴이 : 이ㅣ이…
조회 : 576   추천 : 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,849
번호 제   목 글쓴이 날짜 조회 추천
6849 [QT/Embedded] QT GUI를 사용하면서 라즈베리파이(영상)+Usb Mic… 양가 04-27 43 0
6848 [QT/Embedded] QImage Color map 사용 달리자8 04-26 45 0
6847 [QT/Embedded] 다국어 처리방법 질문입니다 (1) 저기 04-26 61 0
6846 [QT/Win32] 안녕하세요. Qt creator + android opencv sdk 질문있… (1) wddevelope 04-25 72 0
6845 [QT/X11] 라즈베리파이 V2 카메라 QCamera 클래스를 통한 … (4) 양가 04-24 105 0
6844 [QT/Embedded] QT와 터치 스크린 관련 질문입니다. (1) 2tachi 04-20 107 0
6843 [QT/Win32] 장치관리자에서 comport 사용안함으로 했는데 … (1) 재박이a 04-17 125 0
6842 [QT/Win32] QGraphicsItem을 상속받은 도형 클래스에서 mousePr… (1) plays1945 04-15 164 0
6841 [QT/X11] qt에서 ZeroMemory함수가 없나요? (1) fgwet 04-11 215 0
6840 [QT/X11] qt library build 방법 (4) fgwet 04-05 398 0
6839 [QT/X11] widget에 넓이만큼 선을 그었느데 여백이 나옵… (1) 태백 04-05 249 0
6838 [QT/X11] QTextEdit 마우스 cursor 제한 (3) fgwet 04-04 340 0
6837 [QT/Win32] QProcess 여러개 사용하는 질문입니다. (8) lol101 04-04 518 0
6836 [QT/X11] centos에 qwt를 설치해서 사용하려고 하는데 qwt … (1) qtQute 04-04 193 0
6835 [QT/Embedded] QT와 터치 모니터에 대해서 질문 드립니다. (1) 2tachi 04-03 195 0
6834 [QT/Win32] Qt5.2&VC++2012 어플빌드/실행후 '동작이 중지… (3) 깨굴 04-04 236 0
6833 [QT/Win32] QT에서 QPrinter를 이용하여 출력하고 싶은데요. (1) 박멀티 04-03 188 0
6832 [QT/Win32] 배포용 프로그램을 만들려고하는데요 프로그… qtqttq 04-03 149 0
6831 [QT/Embedded] 위젯 / 윈도우 항상 활성화 (2) pojsm 03-31 254 0
6830 [QT/Win32] QPainter를 메인이 아닌 다른 위젯에 붙혔는데 … (3) quteQT 03-30 186 0
6829 [QT/X11] 프로젝트 복사 후 디버깅 실행 시 문제 (3) fgwet 03-29 194 0
6828 [QT/X11] 리눅스 우분투 빌드 환경 다를 경우에 대한 … (1) fgwet 03-24 218 0
6827 [QT/X11] qt 릴리즈 실행파일 생성 질문 fgwet 03-24 214 0
6826 [QT/X11] qt QScrollBar의 context menu를 event로 발생 시킬 수 … 착각은… 03-23 218 0
6825 [QT/Embedded] 리눅스에서 qt없는 환경에서 어떻게 빌드된 … (3) 코딩개… 03-21 259 0
6824 [QT/Win32] 다른 ui파일에서 서로 수정할 수 있나요 ? (4) lol11 03-21 258 0
6823 [QT/X11] 다이얼로그 생성시 그림자 지우는법 (1) fgwet 03-21 240 0
6822 [QT/Embedded] 릴리즈로 설치파일 배포하는 방법아시는분 … (1) 코딩개… 03-17 262 0
6821 [QT/Win32] qt mariaDB 를 사용하려고 하는데 QMYSQL드라이버… (7) 코딩개… 03-16 290 0
6820 [QT/X11] 메모리 누수 관련 건 (2) fgwet 03-15 254 0
 1  2  3  4  5  6  7  8  9  10    


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