我正在用一个Qt接口开发一个用Gambas编写的小应用程序,作为一个初步的学习testing,我想写一个非常简单的控制面板来启动/停止一些服务,如apache2
, mysql
, webmin
等
应用程序看起来像这样:
我的问题是,我不知道如何根据服务的状态设置Apachebutton的初始位置On或Off。 我可以从系统中提取sudo service apache2 status
和一些tr / cut / grep魔术的值给一个variables。 但是界面只提供了将值设置为True或False的选项。 我不知道该把代码放在哪里。 我设法开始工作的唯一部分是开始/停止OnClick
事件,但是初始位置应该在点击之前设置。 此代码仅在服务状态与启动面板上的button状态相匹配时才起作用。
这是一段代码,如果有帮助:
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
任何帮助,将不胜感激。
您需要在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