• 4264阅读
  • 1回复

[提问]关于QML组件的问题。求大神帮助 [复制链接]

上一主题 下一主题
离线snikeguo
 

只看楼主 倒序阅读 楼主  发表于: 2015-01-25
  1. //这个是自定义的一个按键UI
  2. import QtQuick 2.3
  3. import QtQuick.Controls 1.2
  4. Rectangle
  5. {
  6.     id:btn
  7.     width: 100
  8.     height: 62
  9.     color: "#1b70f6"
  10.     //signal
  11.     signal canceled();
  12.     signal clicked(MouseEvent mouse);
  13.     signal doubleClicked(MouseEvent mouse);
  14.     //signal entered();
  15.     //signal exited();
  16.     signal positionChanged(MouseEvent mouse);
  17.     signal pressAndHold(MouseEvent mouse);
  18.     signal pressed(MouseEvent mouse);
  19.     signal released(MouseEvent mouse);
  20.     signal wheel(WheelEvent wheel);
  21.     MouseArea
  22.     {
  23.         id: btnMouseArea
  24.         anchors.fill: parent
  25.         hoverEnabled: true
  26.         onEntered:
  27.         {
  28.            btn.border.width=2
  29.            btn.border.color="#ffffff"
  30.         }
  31.         onExited:
  32.         {
  33.            btn.border.width=0
  34.         }
  35.     }
  36.     Connections
  37.     {//Connections的括号
  38.         target: btnMouseArea
  39.         onCanceled:
  40.         {
  41.           btn.canceled();
  42.         }
  43.         onClicked:
  44.         {
  45.            btn.clicked(mouse);
  46.         }
  47.         onDoubleClicked:
  48.         {
  49.             btn.doubleClicked(mouse);
  50.         }
  51.         onPositionChanged:
  52.         {
  53.             btn.positionChanged(mouse);
  54.         }
  55.         onPressAndHold:
  56.         {
  57.             btn.pressAndHold(mouse);
  58.         }
  59.         onPressed:
  60.         {
  61.             btn.pressed(mouse);
  62.         }
  63.         onReleased:
  64.         {
  65.             btn.released(mouse);
  66.         }
  67.         onWheel:
  68.         {
  69.             btn.wheel(wheel);
  70.         }
  71.     }//Connections的括号
  72. }
这个是main.qml
  1. import QtQuick 2.3
  2. import QtQuick.Controls 1.2
  3. ApplicationWindow {
  4.     visible: true
  5.     width: 640
  6.     height: 480
  7.     title: qsTr("Hello World");
  8.     MyButton
  9.     {
  10.         id:mybtn
  11.         onClicked:
  12.         {
  13.             console.log("单击了!");
  14.         }
  15.     }
  16. }

提示:

qrc:/main.qml:9 Type MyButton unavailable
qrc:/MyButton.qml:12 Invalid signal parameter type: MouseEvent
离线彩阳

只看该作者 1楼 发表于: 2015-01-26
那就是MouseEvent不能作为参数类型写了。
上海Qt开发联盟,热忱地欢迎你的加入!
快速回复
限100 字节
 
上一个 下一个