2015-04-06 22 views
3

我发展写在Gambas中有一个Qt接口的小型应用程序,并作为初始学习测试我想写一个非常简单的控制面板启动/停止一些服务,如apache2mysqlwebmin如何在Gambas Qt应用程序上设置开关按钮的初始值?

该应用程序将是这个样子:

enter image description here

我的问题是,我不知道如何设置Apache的按钮的初始位置开或关取决于服务的状态。我可以将系统中的值从sudo service apache2 status和一些tr/cut/grep魔法提取到变量中。但是界面只给我提供了将值设置为True或False的选项。我不知道该把代码放在哪里。我设法开展工作的唯一部分是开始/停止OnClick事件,但应在点击之前设置初始位置。此代码仅在服务状态与启动面板上的按钮状态相匹配时才起作用。

下面的代码的片段,如果有帮助:

Public Sub SwitchButton1_Click() 
    Dim apachestatus As String 
    Shell "sudo service apache2 status | grep Active | tr -s ' ' | cut -d ' ' -f 3" To apachestatus 

    If apachestatus = "active\n" Then 
    SwitchButton1.Value = False 
    Shell "sudo service apache2 stop" 
    Else If apachestatus = "inactive\n" Then 
    SwitchButton1.Value = True 
    Shell "sudo service apache2 start" 
    Endif 

    Message.Info("apache : " & apachestatus) 
End 

任何帮助,将不胜感激。

回答

1

你需要做内Form_Open()状态检查:

Public Sub Form_Open() 
    ... 
    If apachestatus = "active\n" Then 
     SwitchButton1.Value = False 
    Else If apachestatus = "inactive\n" Then 
     SwitchButton1.Value = True 
    Endif 
End 
相关问题