QT 개발(55)-Qt Quick Controls

5333 단어 QT 개발
QT 개발(55)-Qt Quick Controls
Qt Quick Controls 기반
    QT5.1 Qt Quick의 새로운 모듈인 Qt Quick Controls가 출시되었습니다.Qt Quick Controls 모듈은 Qt Widgets 모듈과 유사한 재사용 가능한 다양한 구성 요소를 제공합니다.
Qt Quick Controls 기반 프로그램을 개발하려면 Qt Quick Application 유형의 응용 프로그램을 만들어야 합니다. 구성 요소 집합을 선택할 때 Qt Quick Controls를 선택해야 합니다.
Qt Quick Controls 구성 요소
Qt Quick Controls는 다양한 구성 요소를 제공합니다.
1. 응용 프로그램 창
응용 프로그램 창은 응용 프로그램의 기본 창 속성을 설명하는 구성 요소입니다.
ApplicationWindow
QmainWindow의 최상위 응용프로그램 윈도우
MenuBar
QMenuBar 용 창 상단의 가로 메뉴 표시줄 제공
StatusBar
QStatusBar에 대해 상태 표시줄 제공
ToolBar
QToolBar에 대응하여 도구막대를 제공하고 ToolButton 및 기타 구성 요소를 추가할 수 있습니다
Action
QAction에 대응하여 내비게이션과 보기에 연결할 수 있는 추상적인 사용자 인터페이스 동작을 제공합니다
2. 내비게이션과 보기
사용자가 한 레이아웃에서 다른 구성 요소를 관리하고 표시하는 데 편리하다
ScrollView
스크롤 뷰를 제공하는 QScrollView
SplitView
QSplitter에 맞게 드래그 가능한 분할 뷰 레이아웃 제공
StackView
QStackedWidget용 스택 기반 레이아웃
TabView
QTabView에 대한 레이블 기반 스택 레이아웃 제공
TableView
스크롤 막대, 스타일 및 헤더가 있는 테이블을 제공하는 QTableView
TreeView
스크롤 막대, 스타일 및 헤더가 있는 테이블을 제공하는 QTreeView
3. 컨트롤
컨트롤 컨트롤
BusyIndicator
바쁜 설명 구성 요소 제공
Button
QPushButton용 버튼 구성 요소
CheckBox
QCheckBox용 확인란 제공
ComboBox
QComboBox용 드롭다운 상자
GroupBox
제목, 테두리가 있는 컨테이너를 제공하는 QGroupBox
Label
QLabel 용 태그 구성 요소
ProgressBar
QProgressBar에 대한 진행률 막대 구성 요소 제공
RadioButton
QRadioButton용 라디오 버튼
Slider
슬라이딩 구성 요소를 제공하는 QSlider
SpinBox
QSpinBox용 마이크로스피커 구성 요소
Switch
라디오 단추와 같은 스위치 구성 요소 제공
TextArea
여러 줄 텍스트를 표시할 수 있는 풍부한 텍스트 편집 상자를 제공하는 QTextEdit
TextField
단일행 텍스트를 표시하는 일반 텍스트 편집 상자를 제공하는 QTextLine
ToolButton
도구 모음에 표시되는 도구 버튼을 제공하는 QToolButton
ExclusiveGroup
서로 배척하다.
4. 메뉴
메뉴 구성에 사용되는 구성 요소
 Menu
Qmenu에 대응하여 메뉴, 하위 메뉴, 팝업 메뉴 등 제공
MenuSeparator
메뉴 구분자 제공
 MenuItem
메뉴 막대 또는 메뉴에 추가할 메뉴 항목 제공
 StatusBar
QStatusBar에 대해 상태 표시줄 제공
 ToolBar
QToolBar에 대응하여 도구막대를 제공하고 ToolButton 및 기타 구성 요소를 추가할 수 있습니다
3. Qt Quick Controls 애플리케이션 인스턴스
Main.qml 파일:
import QtQuick 2.6import QtQuick.Controls 1.4 ApplicationWindow{    title: qsTr("NotePad")    width: 640    height: 480    Action    {        id: exitAction        text: qsTr("E&xit")        onTriggered: Qt.quit()    }    Action    {        id: newAction        text: qsTr("New")        iconSource: "images/new.png"        onTriggered:        {            textArea.text = "";        }    }    Action    {        id: cutAction        text: qsTr("Cut")        iconSource: "images/cut.png"        onTriggered: textArea.cut()    }    Action    {        id: copyAction        text: qsTr("Copy")        iconSource: "images/copy.png"        onTriggered: textArea.copy()    }    Action    {        id: pasteAction        text: qsTr("Paste")        iconSource: "images/paste.png"        onTriggered: textArea.paste()    }    Action    {        id: selectAllAction        text: qsTr("Select All")        onTriggered: textArea.selectAll()    }    menuBar: MenuBar    {        Menu        {            title: qsTr("&File")            MenuItem { action: newAction }            MenuItem { action: exitAction }        }        Menu        {            title: qsTr("&Edit")            MenuItem { action: cutAction }            MenuItem { action: copyAction }            MenuItem { action: pasteAction }            MenuSeparator {}            MenuItem { action: selectAllAction }        }    }    toolBar: ToolBar    {        Row        {            anchors.fill: parent            ToolButton { action: newAction }            ToolButton { action: cutAction }            ToolButton { action: copyAction }            ToolButton { action: pasteAction }        }    }    TextArea    {        id: textArea        anchors.fill: parent    }}

ApplicationWindow는 프로그램의 메인 창으로 메뉴, 도구 모음 등 미리 정의된 기능을 많이 제공합니다.qsTr () 함수는tr () 함수와 유사하며 국제화에 사용됩니다.
menuBar와 toolBar 두 속성은 모두 ApplicationWindow에서 제공하는 속성입니다.menuBar는 MenuBar 유형입니다.MenuBar는 계층 구조를 가지고 있으며 Menu의 중첩을 통해 이루어진다.모든 메뉴 항목은 MenuItem으로 이루어집니다.메뉴 항목 사이의 구분자는 MenuSeparator 컨트롤을 사용합니다.
toolBar는 Item 유형이며 일반적으로 ToolBar 컨트롤을 사용합니다.ToolBar는 기본적으로 레이아웃을 제공하지 않습니다. 레이아웃을 설정해야 합니다.Row가 가로 도구 모음의 배치로 직접 추가되었습니다.도구 모음은 부모 창을 가로로 채우려면 앵커 포인트를 anchors로 설정합니다.fill: parent.ToolBar가 설정한 것은 전체 부모 창을 가득 채우는 것이지만 ToolBar에 하위 요소(예를 들어 여기의 Row)가 하나만 있다면 도구 모음의 높이는 하위 요소의 implicitHeight 속성으로 설정되어 레이아웃과 결합하는 데 매우 유용하다.
각 MenuItem 및 ToolButton에는 action 속성이 추가됩니다.
iconSource 속성을 사용하여 아이콘을 지정할 수 있습니다.아이콘은 파일 시스템에만 있을 수 있으며 리소스 파일의 아이콘은 로드할 수 없습니다. 전체 QML 문서를 리소스 파일에 놓으면 리소스 파일의 아이콘을 직접 로드할 수 있습니다."이미지/new.png"경로를 직접 사용할 때, QML은 실행할 때 설명되며, 이 경로는 QML 파일에 대한 경로입니다.아이콘은main.qml 파일은 디렉터리에 있는 이미지 디렉터리에 있습니다.
onTriggered 속성은 다음에 JavaScript 문을 추가할 수 있는 신호 처리 함수입니다.여러 개의 문장이라면 new Action의 onTriggered와 같은 큰 괄호를 사용할 수 있습니다.QML 구성 요소는 신호를 보낼 수 있는데 C++와 달리 QML 구성 요소의 신호는 특별한 연결 문구가 아니라'on 신호 이름'의 형식을 사용한다.Action에는 triggered라는 신호가 있는데, 그 신호 처리 함수는 onTriggered이다.이런 간단한 신호조 실현의 한계는 같은 신호에 고정된 이름만 있는 신호 처리 함수에 있다.물론 연결 문장도 사용할 수 있습니다.
본고는'생명이 멈추지 않고 분투가 그치지 않는다'는 블로그에서 나온 것으로 전재를 사절합니다!

좋은 웹페이지 즐겨찾기