您的位置:

Python界面长什么样子

Python作为一门广泛应用的编程语言,不同于其他编程语言,它具备强大的图形界面库。Python的图形界面主要采用的是Tkinter、PyQt、wxPython等库,让我们能够实现各种各样的用户界面。因此,本文将带您深入了解Python界面是如何制作的,以及它的外观是怎样的。

一、Tkinter库

Tkinter是Python自带的图形界面库,因此被广泛应用于Python程序中。Tkinter的最大优点就是使用方便,特别适合初学者。

要在程序中创建一个Tkinter窗口非常简单,可以通过以下几行代码来实现:

import tkinter as tk 

win = tk.Tk()

win.mainloop()

上述代码中,我们首先需要导入tkinter库,然后创建一个名为win的窗口。通过执行win.mainloop(),我们使得程序进入Tkinter的主事件循环,等待用户交互。

接下来,我们可以通过多种方法来为这个窗口增加各种组件,如标签、按钮、输入框等。下面是一个简单的示例,它包含了一个标签、一个按钮以及一个输入框:

import tkinter as tk 

def get_input_text():
    print("输入的内容是:", input_box.get())

win = tk.Tk()
win.title("欢迎使用Python")  
win.geometry("300x200")

label = tk.Label(win, text="请输入:")
label.pack()

input_box = tk.Entry(win, width=20)
input_box.pack()

button = tk.Button(win, text="确认", command=get_input_text)
button.pack()

win.mainloop()

以上代码实现了一个具有输入、输出功能的界面,它长这样:

二、PyQt库

相比Tkinter,PyQt开发出的界面,外观更漂亮,功能也更加丰富。

PyQt是使用C++开发的,但是Python版本中的PyQt采用了Python的语法,方便Python用户使用。我们可以通过以下方法来创建一个PyQt窗口:

import sys
from PyQt5.QtWidgets import QApplication, QWidget

app = QApplication(sys.argv)
win = QWidget()
win.setWindowTitle("欢迎使用Python")
win.setGeometry(200, 200, 300, 200)
win.show()
sys.exit(app.exec_())

上述代码中,我们首先导入了QApplication和QWidget两个类库,并创建了一个名为win的窗口。通过设置win对象的属性,我们可以让窗口有一个标题,以及合适的大小。

下面是一个更加复杂的PyQt界面,它包含了一个滑块、一个标签、一个按钮、一个进度条以及一个文本框。这个界面可以用来进行一些复杂的操作。

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QSlider, QLabel, QPushButton, QVBoxLayout, QHBoxLayout, QProgressBar, QTextEdit

class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):
        slider = QSlider(Qt.Horizontal, self)
        slider.setFocusPolicy(Qt.NoFocus)
        slider.setGeometry(30, 40, 150, 30)
        
        label = QLabel('0', self)
        label.setGeometry(190, 40, 20, 30)

        button = QPushButton('重置', self)
        button.setToolTip('这是一个重置按钮')
        button.move(70, 100)       
        
        hbox = QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(QLabel('文件传输:'))
        hbox.addWidget(QPushButton('开始'))
        hbox.addWidget(QPushButton('停止'))
        hbox.addWidget(QPushButton('暂停'))
        
        vbox = QVBoxLayout()
        vbox.addWidget(QLabel('文件传输器', self))
        vbox.addWidget(slider)
        vbox.addWidget(label)
        vbox.addWidget(QProgressBar(self))
        vbox.addWidget(QTextEdit(self))
        vbox.addLayout(hbox)

        self.setLayout(vbox)    
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('文件传输进度')    
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

这个界面不仅仅能够让您传输文件,还有一些附加的功能。以下是运行这个程序后的截图:

三、wxPython库

wxPython库是Python绑定wxWidgets库的一种工具。它可以用于制作具有各种各样特殊功能的程序,比如音频播放器、视频播放器、图形编辑器等。

要使用wxPython创建一个窗口,我们需要涉及到一些相对复杂的代码。下面是一个简单的示例,它演示了如何创建一个包含标签、按钮和下拉列表的界面:

import wx

class Example(wx.Frame):
    
    def __init__(self, parent, title):
        super().__init__(parent, title=title, size=(300, 200))
        self.InitUI()
        self.Centre()
        self.Show()
        
    def InitUI(self):    
        panel = wx.Panel(self)
        sizer = wx.GridBagSizer(5, 5)        

        text = wx.StaticText(panel, label="请选择一个城市:")
        sizer.Add(text, pos=(0, 0), flag=wx.TOP|wx.LEFT|wx.BOTTOM, border=15)

        cities = ['北京', '上海', '广州', '深圳']
        c_box = wx.ComboBox(panel, choices=cities)
        sizer.Add(c_box, pos=(1, 0), flag=wx.EXPAND|wx.LEFT|wx.RIGHT, border=15)

        okBtn = wx.Button(panel, label='确认')
        sizer.Add(okBtn, pos=(2, 0), flag=wx.ALIGN_CENTER|wx.TOP|wx.BOTTOM, border=15)

        sizer.AddGrowableCol(0)
        panel.SetSizer(sizer)
        
app = wx.App()
Example(None, title='城市选择')
app.MainLoop()

以上代码实现了一个一个具有响应事件的表单,我们可以在下拉列表框中选择城市,然后单击按钮以确认选择。这个界面长这样:

结论

在Python中制作界面非常容易,我们可以使用不同的工具来创建不同类型、不同外观的界面。Tkinter、PyQt以及wxPython库,都能够帮助我们实现图形界面设计,让我们能够更方便、更快捷地实现自己的算法。我们希望本文能够给您带来一些启示,为您学习Python编程提供帮助。