From 1804d89842d56a90168e70c275a4e3924a35c3f3 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 10 Nov 2015 14:02:11 +0100 Subject: [PATCH] Doc: update instructions for creating custom buttons Use the Connections view to create connections, bindings, and properties. Change-Id: Ib879c5d95a2026bf59bfb1b7a02d0c8a10658c2f Reviewed-by: Thomas Hartmann --- .../qmldesigner-borderimage-bindings-text.png | Bin 0 -> 6569 bytes .../qmldesigner-borderimage-bindings.png | Bin 0 -> 5170 bytes .../qmldesigner-borderimage-connections.png | Bin 0 -> 5006 bytes .../qmldesigner-borderimage-properties.png | Bin 0 -> 5474 bytes doc/src/qtquick/qtquick-buttons.qdoc | 197 ++++++++++-------- 5 files changed, 107 insertions(+), 90 deletions(-) create mode 100644 doc/images/qmldesigner-borderimage-bindings-text.png create mode 100644 doc/images/qmldesigner-borderimage-bindings.png create mode 100644 doc/images/qmldesigner-borderimage-connections.png create mode 100644 doc/images/qmldesigner-borderimage-properties.png diff --git a/doc/images/qmldesigner-borderimage-bindings-text.png b/doc/images/qmldesigner-borderimage-bindings-text.png new file mode 100644 index 0000000000000000000000000000000000000000..6484c13f01499ccad14eeb6f660cc4c4a2ce3926 GIT binary patch literal 6569 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 a>-moV!^Z>SHyIch7(8A5T-G@yGywqjMY8Vz literal 0 HcmV?d00001 diff --git a/doc/images/qmldesigner-borderimage-bindings.png b/doc/images/qmldesigner-borderimage-bindings.png new file mode 100644 index 0000000000000000000000000000000000000000..78a82b7f564c872a9727310a01bf7aa856486d60 GIT binary patch literal 5170 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 C74u90 literal 0 HcmV?d00001 diff --git a/doc/images/qmldesigner-borderimage-connections.png b/doc/images/qmldesigner-borderimage-connections.png new file mode 100644 index 0000000000000000000000000000000000000000..e37adb69240ed9d9ecf02c6341fd21870afeafa7 GIT binary patch literal 5006 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 U<#Re27#J8lUHx3vIVCg!02sN1{{R30 literal 0 HcmV?d00001 diff --git a/doc/src/qtquick/qtquick-buttons.qdoc b/doc/src/qtquick/qtquick-buttons.qdoc index c13afccfdf8..5bccf04df1a 100644 --- a/doc/src/qtquick/qtquick-buttons.qdoc +++ b/doc/src/qtquick/qtquick-buttons.qdoc @@ -30,41 +30,51 @@ \title Creating Buttons - To create a button component: + To create a button type: \list 1 - \li Select \uicontrol {File > New File or Project > Qt > QML File > Choose} - to create a QML file called Button.qml (for example). + \li Select \uicontrol File > \uicontrol {New File or Project} > + \uicontrol Qt > \uicontrol {QML File (Qt Quick 2)} > + \uicontrol Choose to create a QML file called Button.qml (for + example). - \note Components are listed in the \uicontrol Library only if the + \note Types are listed in the \uicontrol Library only if the filename begins with a capital letter. \li Click \uicontrol {Design} to edit the file in the visual editor. - \li In the \uicontrol Navigator, click \uicontrol Rectangle to set properties - for it. + \li In the \uicontrol Navigator, select \uicontrol Item and set the + width (\uicontrol W) and height (\uicontrol H) of the button in the + \uicontrol Properties pane. - \li In the \uicontrol Properties pane, modify the appearance of the button. + \li Drag and drop a \uicontrol Rectangle from the \uicontrol Library to + the item in the navigator. This creates a nested item where the + item is the parent of the rectangle. Items are positioned relative + to their parents. + + \li In the \uicontrol Properties pane, modify the appearance of the + rectangle: \list a - \li In the \uicontrol Size field, set the width (\uicontrol W) and height - (\uicontrol H) of the button. - \li In the \uicontrol Color field, select the button color. \li In the \uicontrol Radius field, use the slider to set the radius of the rectangle and produce rounded corners for the button. + \li Select \uicontrol {Layout}, and then select the + \inlineimage qmldesigner-anchor-fill-screen.png + (\uicontrol {Fill to Parent}) button to anchor the rectangle to + the item. + + \endlist - \li Drag and drop a \uicontrol {Text} item on top of the \uicontrol Rectangle. This - creates a nested item where \uicontrol Rectangle is the parent item - of \uicontrol Text. Items are positioned relative to their parents. + \li Drag and drop a \uicontrol {Text} type to the item in the navigator. \li In the \uicontrol Properties pane, edit the properties of the \uicontrol Text - item. + type. \list a @@ -77,10 +87,8 @@ \li In the \uicontrol Alignment field, select the center buttons to align the text to the center of the button. - \li Click \uicontrol {Layout}, and then click the - \inlineimage qmldesigner-anchor-fill-screen.png - (\uicontrol {Fill to Parent}) button to anchor the text to the whole - button area. + \li Select \uicontrol Layout > \uicontrol {Fill to Parent} + to anchor the text to the whole button area. \endlist @@ -110,13 +118,13 @@ \l{BorderImage} type to display an image, such as a PNG file, as a border and a background. - Use two Border Image items and suitable graphics to make it look like the - button is pushed down when it is clicked. One of the Border Image items + Use two border images and suitable graphics to make it look like the + button is pushed down when it is clicked. One of the border images is visible by default. You can specify that it is hidden and the other one becomes visible when the mouse is clicked. - Add a Mouse Area that covers the whole area and emits the clicked signal - (\c {parent.clicked()}) when it detects a mouse click. + Add a \l MouseArea type that covers the whole area and emits the clicked + signal (\c {item.clicked()}) when it detects a mouse click. You can add text to the button and set it up as a property. The text can then be initialized from the outside, making the button a reusable UI @@ -130,57 +138,54 @@ \list 1 - \li Select \uicontrol {File > New File or Project > Qt > QML File > Choose} - to create a QML file called Button.qml (for example). + \li Select \uicontrol File > \uicontrol {New File or Project} > + \uicontrol Qt > \uicontrol {QML File (Qt Quick 2)} > + \uicontrol Choose to create a QML file called Button.qml (for + example). - \li Double-click the file to open it in the code editor. - - \li Replace the \uicontrol Rectangle with an \uicontrol Item, as illustrated by the - following code snippet: - - \qml - Item { - - } - \endqml - - \li Specify properties and set expressions for the \uicontrol Item, as - illustrated by the following code snippet: - - \qml - Item { - property string text: "" - property int fontSize: 10 - - signal clicked - - width: 60 - height: 40 - } - \endqml - - You will point to the properties and expression later. + \note Types are listed in the \uicontrol Library only if the + filename begins with a capital letter. \li Click \uicontrol {Design} to edit the file in the visual editor. - \li Drag and drop two \uicontrol {Border Image} items from the \uicontrol Library - to the canvas. + \li In the \uicontrol Navigator, select \uicontrol Item and set the + width (\uicontrol W) and height (\uicontrol H) of the button in the + \uicontrol Properties pane. - \li Drag and drop a \uicontrol Text item to the canvas. + \li Select \uicontrol Connections > \uicontrol {Dynamic Properties} > + \uicontrol Add to add properties for the item: - \li Drag and drop a \uicontrol {Mouse Area} to the canvas. + \image qmldesigner-borderimage-properties.png "Dynamic properties" - \li In the \uicontrol Navigator, select \uicontrol border_image1 to specify - settings for it in the \uicontrol Properties pane: + \list a + + \li Double-click in the columns in the view to specify a \c text + property with the type \c string and an empty value. + + \li Specify another property, \c fontSize, with the type \c int + and the value \c 10. + + \endlist + + \li Drag and drop two \uicontrol {Border Image} types from the + \uicontrol Library to the item in the \uicontrol Navigator. + + \li Drag and drop a \uicontrol Text type to the item in the navigator. + + \li Drag and drop a \uicontrol {Mouse Area} to the item in the + navigator. + + \li In the navigator, select a border image to specify settings for it + in the \uicontrol Properties pane: \list a - \li Select \uicontrol {Set Binding} in the menu next to the - \uicontrol Visibility check box. + \li Select \uicontrol Connections > \uicontrol {Bindings} + > \uicontrol Add to hide the image when the mouse button is not + pressed down. Specify the \c visible property with the + \c !mouseArea source item and \c pressed source property. - \li Enter the following expression to specify that the image is - visible when the mouse is not pressed down: - \c {!mouse_area1.pressed}. + \image qmldesigner-borderimage-bindings.png "Border image bindings" \li In the \uicontrol Source field, select the image file for the button, for example button_up.png. @@ -192,41 +197,48 @@ \endlist - \li Select \uicontrol border_image2 to specify similar settings for it: + \li Select the other border image to specify similar settings for it: \list a - \li Set the following epression for \uicontrol Visibility, to specify that - the image is visible when the mouse is pressed down: - \c {mouse_area1.pressed}. + \li In \uicontrol Bindings, specify the \c visible property + with the \c mouseArea source item and \c pressed source + property to show the image when the mouse button is pressed + down. \li In the \uicontrol Source field, select the image file for the button when it is clicked, for example button_down.png. - \li Click \uicontrol {Layout}, and then click the - \uicontrol {Fill to Parent} + \li Select \uicontrol {Layout} > \uicontrol {Fill to Parent} button to anchor the border image to the \uicontrol Item. \endlist - \li Select \uicontrol text1 to specify font size and color, and text - scaling and rendering: + \li Select the text to specify font size and color, and text scaling + and rendering: \list a \li In the \uicontrol Color field, use the color picker to select the font color, or enter a value in the field. - \li In the \uicontrol Text field, select \uicontrol {Set Binding} and - enter a pointer to the \c {text} property that you specified - earlier: \c {parent.txt}. + \li In \uicontrol Bindings, create bindings to properties: - \li In the \uicontrol Size field, select \uicontrol {Pixels} to specify the font - size in pixels. By default, the size is specified in points. + \image qmldesigner-borderimage-bindings-text.png "Text bindings" - \li In the \uicontrol Size field, select \uicontrol {Set Expression} and enter a - pointer to the \c {fontSize} property that you specified - earlier. + \list + + \li Set the source property of the \c text property as + \c text and the source item as \c parent. + + \li Set the source property of the \c font.pixelSize as + \c fontSize and the source item as \c parent. + + \li Set the source property of \c scale as + \c {if (!mouseArea} and the source item as + \c {pressed) { 1 } else { 0.95 }}. + + \endlist \li Click \uicontrol {Layout}, and then click the \inlineimage qmldesigner-center-in.png "Anchor buttons" @@ -234,20 +246,25 @@ buttons to inherit the vertical and horizontal centering from the parent. - \li Click \uicontrol Advanced to specify scaling for the text in the - \uicontrol Scale field. - - \li Select \uicontrol {Set Binding} and enter the following expression: - \c {if (!mousearea1.pressed) { 1 } else { 0.95 }}. - - \note You can enter long and complicated expressions also in the - code editor. - \endlist - \li In the code editor, add to the \c MouseArea a pointer to the - \c clicked expression that you added earlier: - \c {onClicked: parent.clicked()}. + \li Select \uicontrol mouseArea in the navigator and then select + \uicontrol Connections > \uicontrol Add to set \c item.clicked() + as the value of the \c onClicked signal handler. + + \image qmldesigner-borderimage-connections.png "Item connections" + + \li In the code editor, specify the \c clicked signal for the Item: + + \qml + Item { + id: item + property string text: "" + property int fontSize: 10 + + signal clicked + } + \endqml \endlist