编写图形界面的Application程序,点击“确定”按钮把本机的IP地址和主机名分别显示在2个文本框中, 点击“退出”按钮结束程序运行
时间: 2023-12-27 14:02:38 浏览: 72
获得主机名和IP地址,界面编程
3星 · 编辑精心推荐
好的,这个问题可以分为两个部分来解决。第一部分是获取本机的IP地址和主机名,第二部分是编写图形界面的Application程序并实现按钮的功能。
获取本机的IP地址和主机名可以使用Python自带的socket库来实现。具体代码如下:
```python
import socket
# 获取本机IP地址
ip = socket.gethostbyname(socket.gethostname())
# 获取本机主机名
hostname = socket.gethostname()
```
接下来是编写图形界面的Application程序并实现按钮的功能。这里我使用Python的Tkinter库来实现。
```python
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.ip_label = tk.Label(self)
self.ip_label["text"] = "IP地址:"
self.ip_label.pack(side="left")
self.ip_entry = tk.Entry(self)
self.ip_entry.pack(side="left")
self.hostname_label = tk.Label(self)
self.hostname_label["text"] = "主机名:"
self.hostname_label.pack(side="left")
self.hostname_entry = tk.Entry(self)
self.hostname_entry.pack(side="left")
self.quit_button = tk.Button(self, text="退出", command=self.master.destroy)
self.quit_button.pack(side="bottom")
self.ok_button = tk.Button(self, text="确定", command=self.show_info)
self.ok_button.pack(side="bottom")
def show_info(self):
self.ip_entry.delete(0, tk.END)
self.ip_entry.insert(0, socket.gethostbyname(socket.gethostname()))
self.hostname_entry.delete(0, tk.END)
self.hostname_entry.insert(0, socket.gethostname())
root = tk.Tk()
app = Application(master=root)
app.mainloop()
```
这个程序创建了一个窗口,包含两个文本框和两个按钮。点击“确定”按钮会调用show_info方法,该方法会获取本机的IP地址和主机名,并将它们分别显示在文本框中。点击“退出”按钮会结束程序运行。
注意:为了保证这个程序能够正常工作,需要先安装Python的Tkinter库。
阅读全文