鱼C论坛

 找回密码
 立即注册
查看: 2918|回复: 2

[技术原创] QT动画制作(二十二)

[复制链接]
发表于 2017-3-13 08:54:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
效果:
104515davez9vcd95e1vmi.png
我为了省事把服务器端跟客户端合一起了,如果要用还是得把他们分开,注意一定要先开启服务器端后开客户端才行,不然没有响应。
main.qml文件:
import QtQuick 2.5
import QtQuick.Window 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("服务器端")

    MainForm {
}
}
MainForm.ui.qml文件:
import QtQuick 2.5
Rect{}
Rect.qml文件:
import QtQuick 2.0
import QtWebSockets 1.0
import QtQuick.Controls 1.0
  Rectangle {
      width: 360
      height: 360

      function appendMessage(message) {
          messageBox.text += "\n" + message
      }
      WebSocketServer {
          id: server
          listen: true
          port:8080
          onClientConnected: {
              webSocket.onTextMessageReceived.connect(function(message) {//用传参接收信息
                  appendMessage(qsTr("Server received message: %1").arg(message));//传过来的信息
              });
          }
          onErrorStringChanged: {
              appendMessage(qsTr("Server error: %1").arg(errorString));
          }
      }
      WebSocket {
               id: socket
               url: "ws://127.0.0.1:8080"
               onTextMessageReceived: appendMessage(qsTr("Client received message: %1").arg(message))
               onStatusChanged: {
                   if (socket.status == WebSocket.Error) {
                       appendMessage(qsTr("Client error: %1").arg(socket.errorString));
                   } else if (socket.status == WebSocket.Closed) {
                       appendMessage(qsTr("Client socket closed."));
                   }else if (socket.status == WebSocket.Open) {
                       socket.sendTextMessage("Hello World");//如果接通就向接通方发送helloworld
                   }
               }
               active: true
           }
      Text{
          id:messageBox
          anchors.centerIn: parent
          width:50
          height: 50
      }
      Column{
          spacing: 2
      Rectangle{
          width:80
          height:80
          border.width: 1
          border.color: "green"
      TextInput{
        id:input
        width:70
        height: 50
        focus:true
      }
      }
      Button{
          id:send
          text:"发送"
          onClicked: socket.sendTextMessage(input.text)//点击后把文本输入框里的内容发出去
      }
      }
  }
Preview: 明天用Timer属性做一个数字时钟,还有一个小日历

评分

参与人数 2荣誉 +9 鱼币 +5 贡献 +3 收起 理由
朝闻夕死 + 4 热爱鱼C^_^
不二如是 + 5 + 5 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-13 10:36:33 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-14 14:53:49 | 显示全部楼层
都是大神啊!看来我也要掌握两门语言。
顺带请求@alltolove 赞助5鱼C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 16:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表