2015-04-06 81 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 
相關問題