python-图形化界面编程(一个启动停止服务的界面),,GUI编程1. Py
python-图形化界面编程(一个启动停止服务的界面),,GUI编程1. Py
GUI编程
1. Python实现GUI的方法
1)使用python的标准库 Tkinter
2)使用wxPython
3)使用Jython(可以和 Java无缝集成)
2. 使用Tkinter
安装tkinter库
yuminstall-ytkintertk-devel
创建1个空白的主窗口
#!/usr/bin/python#-*-coding:UTF-8-*-importTkinter#创建一个主窗口myWindow=Tkinter.Tk()#进入消息循环myWindow.mainloop()
写一个服务启动的图形界面:
[root@cml10python]#catwin2.py#!/usr/bin/python#_*_coding:utf-8_*_importosfromTkinterimport*#导入Tkinter库defrestart_server():ip=listbox1.get(listbox1.curselection())server=listbox2.get(listbox2.curselection())os.system("sshpass-p‘redhat‘sshroot@%sservice%srestart"%(ip,server))print"sshpass-p‘redhat‘sshroot@%sservice%srestart"%(ip,server)label_info["text"]="服务器(%s)正在重启%s服务..."%(ip,server)mywin.update()defstart_server():ip=listbox1.get(listbox1.curselection())server=listbox2.get(listbox2.curselection())os.system("sshpass-p‘redhat‘sshroot@%sservice%sstart"%(ip,server))print"sshpass-p‘redhat‘sshroot@%sservice%sstart"%(ip,server)label_info["text"]="武器器(%s)正在启动%s服务..."%(ip,server)mywin.update()defstop_server():ip=listbox1.get(listbox1.curselection())server=listbox2.get(listbox2.curselection())os.system("sshpass-p‘redhat‘sshroot@%sservice%sstop"%(ip,server))print"sshpass-p‘redhat‘sshroot@%sservice%sstop"%(ip,server)label_info["text"]="武器器(%s)正在停止%s服务..."%(ip,server)mywin.update()mywin=Tk()#创建窗口对象的背景色mywin.title("servermanager")mywin.geometry("700x400")#创建标签label1=Label(mywin,text="服务器列表",font=("Arial",20),bg=‘yellow‘,fg=‘red‘)label1.grid(row=0,column=0)label2=Label(mywin,text="服务名称",font=("Arial",20),bg=‘blue‘,fg=‘red‘)label2.grid(row=0,column=1)label3=Label(mywin,text="操作",font=("Arial",20),bg="blue",fg="red")label3.grid(row=0,column=2,columnspan=4)label_info=Label(mywin,text="",font=("Arial",20),bg=‘purple‘,fg=‘red‘)label_info.grid(row=2,column=0)#创建列表组件listbox1=Listbox(mywin,exportselection=False)listbox2=Listbox(mywin,exportselection=False)#exportselection=False,是的选择其他的Listbox时,原来的选择依然有效#创建按钮button1=Button(mywin,text="重启服务",command=restart_server)button2=Button(mywin,text="启动服务",command=start_server)button3=Button(mywin,text="停止服务",command=stop_server)#给列表组件添加数据ips=[]foripinrange(128,150):#第一个小部件插入数据tmp="192.168.5.%d"%ipips.append(tmp)foripinips:listbox1.insert(0,ip)services=["nginx","mariadb","ftp","network","httpd","mysql"]forserviceinservices:listbox2.insert(0,service)#第二个小部件插入数据#给listbox布局listbox1.grid(row=1,column=0,padx=20,pady=20,ipady=10)listbox2.grid(row=1,column=1,padx=20,pady=20)button1.grid(row=1,column=2,padx=10,pady=10)button2.grid(row=1,column=3,padx=10,pady=10)button3.grid(row=1,column=4,padx=10,pady=10)mywin.mainloop()#进入消息循环
执行win2.py的效果图:
[root@cml10 python]# python win2.py
测试直接点击启动、停止、重启服务:
##centos-1主机地址为192.168.5.129,且httpd服务没启动:
[root@centos-1 ~]# service httpd status
httpd 已停
在图形界面点击192.168.5.129àhttpdà启动服务
在centos-1机器上查看httpd的状态:
[root@centos-1 ~]# service httpd status
httpd (pid5206) 正在运行...
在点击停止服务:
查看centos-1主机httpd状态:
[root@centos-1 ~]# service httpd status
httpd 已停
点击重启:
查看centos-1主机httpd状态:
[root@centos-1 ~]# service httpd status
httpd (pid5635) 正在运行...
本文出自 “第一个legehappy51cto博客” 博客,请务必保留此出处http://legehappy.blog.51cto.com/13251607/1983279
python-图形化界面编程(一个启动停止服务的界面)
相关内容
- 暂无相关文章
评论关闭