代码之家  ›  专栏  ›  技术社区  ›  Kevin yudo

功能完成前强制按钮启用更改

  •  0
  • Kevin yudo  · 技术社区  · 6 年前

    我有一个qml图像按钮。如果按下按钮,则在C++侧启动长操作。我想按钮是禁用时,点击它,他们启用后,功能完成。

    Image {
        id:searchimgbtn
        source: "/Images/Search.png"
        height: parent.height
        width: dp(32)
         fillMode: Image.PreserveAspectFit
         enabled: isvalF
         opacity: isvalF ? 1 :0.1
    
         MouseArea {
             anchors.fill: parent
             hoverEnabled: true
    
             onClicked: {
    
                disablesearchbutton();
                 getcbsvalue();
    
    
             }
    
             onPressed:{
                 searchimgbtn.scale=1.08
          //       searchimgbtn.opacity=0.3
           //      opacity: enabled ? 1 :0.1
             }
             onReleased: {
                 searchimgbtn.scale=1
           //      searchimgbtn.opacity=1
           //      opacity: enabled ? 1 :0.1
    
             }
    
    
         }
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Jan Win    6 年前

    您需要将长时间运行的作业分支到另一个进程/线程中,以使UI进程不被阻止并可以呈现。 观察 QProcess QThread ,我用它来ping东西。

        const QString PING_PATH = "C:/Windows/System32/ping.exe";
        QStringList pingArguments << "192.168.1.1";
    
        QProcess *pingProcess = new QProcess(this);
        pingProcess->startDetached(PING_PATH, pingArguments);