python编写软件的启动界面,python怎么进入编程界面

本文介绍了在Python中如何使用Tkinter创建图形用户界面,包括安装Tkinter库,创建基本窗口以及实现实用的服务管理功能,如启动、停止和重启远程服务器服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,小编来为大家解答以下问题,启动python后如何进入编程界面设置,如何进入python程序代码编辑环境,今天让我们一起来看看吧!

GUI编程

1. Python实现GUI的方法

1)使用python的标准库 Tkinter

2)使用wxPython

3)使用Jython(可以和 Java无缝集成)

2. 使用Tkinter

安装tkinter库

yum install  -y  tkinter tk-devel

创建1个空白的主窗口

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import Tkinter

# 创建一个主窗口

myWindow = Tkinter.Tk()

# 进入消息循环

myWindow.mainloop()

写一个服务启动的图形界面:

[root@cml10 python]# cat win2.py

#!/usr/bin/python

#_*_coding:utf-8_*_

import os

from Tkinter import *                        # 导入 Tkinter 库

def restart_server():

ip= listbox1.get(listbox1.curselection())

server= listbox2.get(listbox2.curselection())

os.system("sshpass-p 'redhat' ssh root@%s service %s restart" %(ip,server))

print"sshpass -p 'redhat' ssh root@%s service %s restart" %(ip,server)

label_info["text"]="服务器(%s)正在重启%s服务..."%(ip,server)

mywin.update()

def start_server():

ip= listbox1.get(listbox1.curselection())

server= listbox2.get(listbox2.curselection())

os.system("sshpass-p 'redhat' ssh root@%s service %s start" %(ip,server))

print"sshpass -p 'redhat' ssh root@%s service %s start" %(ip,server)

label_info["text"]="武器器(%s)正在启动%s服务..."%(ip,server)

mywin.update()

def stop_server():

ip = listbox1.get(listbox1.curselection())

server = listbox2.get(listbox2.curselection())

os.system("sshpass -p 'redhat' ssh root@%s service %s stop"%(ip,server))

print "sshpass -p 'redhat' ssh root@%s service %s stop"%(ip,server)

label_info["text"]="武器器(%s)正在停止%s服务..."%(ip,server)

mywin.update()

mywin = Tk()                    # 创建窗口对象的背景色

mywin.title("server manager")

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 = []

for ip in range(128,150):                            # 第一个小部件插入数据

tmp= "192.168.5.%d" %ip

ips.append(tmp)

for ip in ips:

listbox1.insert(0,ip)

services =["nginx","mariadb","ftp","network","httpd","mysql"]

for service in services:

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 (pid 5206) 正在运行...

在点击停止服务:

查看centos-1主机httpd状态:

[root@centos-1 ~]# service httpd status

httpd 已停

点击重启:

查看centos-1主机httpd状态:

[root@centos-1 ~]# service httpd status

httpd (pid 5635) 正在运行...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值