• 11759阅读
  • 5回复

[提问]QML:如何添加信号槽? [复制链接]

上一主题 下一主题
离线kelvinyeah
 
只看楼主 倒序阅读 楼主  发表于: 2010-09-10
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
小弟在做个小便签,也是根据里面的例子改的,呈现如下图:
可以随意拖动,填写文字。
现在我希望通过双击该标签的MouseArea复制一个同样的标签页,或者用鼠标的中键、右键都可以。
请问:应该如何建立这样的信号槽
代码如下:
  1. import Qt 4.7
  2. Item {
  3.     id: sticky
  4.     width: 800
  5.     height: 450
  6.     scale: 0.7
  7.     Image {
  8.         id: scrappaper
  9.         x: 8 + -width * 0.5 /4; y: -10
  10.         source: "note-yellow.png"
  11.         scale: 0.6; transformOrigin: Item.TopLeft
  12.         smooth: true
  13.     }
  14.     TextEdit {
  15.         id:myText
  16.         x: -1; y: 36;// width: 30; height: 100
  17.         smooth: true
  18.         font.pixelSize: 24
  19.         readOnly: false
  20.         rotation: -8//文字的方向定义为与标签图片一致
  21.     }
  22.     Item {
  23.         x: scrappaper.x; y: -20
  24.         width: scrappaper.width * scrappaper.scale
  25.         height: scrappaper.height * scrappaper.scale
  26.         MouseArea {
  27.             id: mouse
  28.             anchors.fill: parent
  29.             drag.target: sticky
  30. onClicked: {
  31.                     myText.focus = true; myText.openSoftwareInputPanel(); }
  32.            // onDoubleClicked: {}         就是这里我不知道该怎么处理了
  33.         }
  34.     }
  35.     Image {
  36.         x: -width * 0.9 / 2; y: -height * 0.2 / 2
  37.         source: "tack.png"
  38.         scale: 0.7; transformOrigin: Item.TopLeft
  39.     }
  40. }

希望大家帮帮忙,谢谢了
工作与IT关系不大了,从此将编程当乐趣发展!
离线kelvinyeah
只看该作者 1楼 发表于: 2010-09-10
就是下方这个图片
工作与IT关系不大了,从此将编程当乐趣发展!
离线beaujolais
只看该作者 2楼 发表于: 2010-09-10
主要复制这个工作

我的想法:可以把你的数据保存出去到一个C++类中,比如你的便签上有string,将它赋值到一个C++类中比如palett.str。

把你的便签做一个通用的框架BianQian { 你上边那堆代码},保存为BianQian.qml,然后再你发出复制信号后,再次调用BianQian{ string:palette.str;其它属性设置}

然后在安排一个位置应该就行啦。

主要是QML与C++的数据交互,数据拿到C++中去处理还是非常方便的。

请参考:Assistant   --->Using QML in C++ Applications
离线kelvinyeah
只看该作者 3楼 发表于: 2010-09-11
谢谢LS的大侠,我再尝试一下
工作与IT关系不大了,从此将编程当乐趣发展!
离线yyxl
只看该作者 4楼 发表于: 2010-11-09
drag.target
离线fg313071405
只看该作者 5楼 发表于: 2011-03-08
这个玩意好玩
快速回复
限100 字节
 
上一个 下一个