如何用wxFormBuilder给Python绘制图形化界面

2025-12-23 02:37:07

1、接下来将介绍如何制作任务的图形界面程序;

如何用wxFormBuilder给Python绘制图形化界面

2、首先打开电脑的磁盘并创建好以下文件main.py主程序文件和picture.py图形绘制文件;

如何用wxFormBuilder给Python绘制图形化界面

3、打开电脑桌面的geany软件,并在picture.py里面输入如下代码并保存:

# -*- coding: utf-8 -*- 

###########################################################################

## Python code generated with wxFormBuilder (version Jun  5 2014)

## http://www.wxformbuilder.org/

##

## PLEASE DO "NOT" EDIT THIS FILE!

###########################################################################

import wx

import wx.xrc

###########################################################################

## Class MyFrame1

###########################################################################

class MyFrame1 ( wx.Frame ):

def __init__( self, parent ):

wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )

bSizer1 = wx.BoxSizer( wx.VERTICAL )

self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"任务ID", wx.DefaultPosition, wx.DefaultSize, 0 )

self.m_staticText1.Wrap( -1 )

bSizer1.Add( self.m_staticText1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

self.m_textCtrl1 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )

bSizer1.Add( self.m_textCtrl1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

self.m_staticText2 = wx.StaticText( self, wx.ID_ANY, u"用户名", wx.DefaultPosition, wx.DefaultSize, 0 )

self.m_staticText2.Wrap( -1 )

bSizer1.Add( self.m_staticText2, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

self.m_textCtrl3 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )

bSizer1.Add( self.m_textCtrl3, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

self.m_button1 = wx.Button( self, wx.ID_ANY, u"执行任务", wx.DefaultPosition, wx.DefaultSize, 0 )

bSizer1.Add( self.m_button1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )

self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"任务执行进度", wx.DefaultPosition, wx.DefaultSize, 0 )

self.m_staticText3.Wrap( -1 )

bSizer1.Add( self.m_staticText3, 0, wx.ALL, 5 )

self.m_gauge1 = wx.Gauge( self, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL )

self.m_gauge1.SetValue( 0 )

bSizer1.Add( self.m_gauge1, 0, wx.ALL, 5 )

self.SetSizer( bSizer1 )

self.Layout()

self.Centre( wx.BOTH )

# Connect Events

self.m_button1.Bind( wx.EVT_BUTTON, self.btn_submit )

def __del__( self ):

pass

# Virtual event handlers, overide them in your derived class

def btn_submit( self, event ):

event.Skip()

如何用wxFormBuilder给Python绘制图形化界面

4、继续打开main.py文件输入如下代码并保存:

#coding:utf-8

import wx

import os

import datetime

import time

#import the newly created GUI file 

import picture

class CalcFrame(picture.MyFrame1):

   def __init__(self,parent): 

      picture.MyFrame1.__init__(self,parent)

   def btn_submit(self,event):

       task_id = self.m_textCtrl1.GetValue()

       username = self.m_textCtrl3.GetValue()

       start = time.clock()

       end = time.clock()

       waiting_time = int( round( (end -start),0 ) )

       step_long = 100 / waiting_time

       print("***************")

       print(waiting_time)

       for t in range(101):

           t += step_long

           self.m_gauge1.SetValue (t)

def main():

    app = wx.App(False)

    frame = CalcFrame(None) 

    frame.Show(True)

    #start the applications 

    app.MainLoop()

if __name__ == '__main__':

    main()

如何用wxFormBuilder给Python绘制图形化界面

5、在运行mian.py主程序之前,需要打开电脑的cmd窗口,执行命令“ pip install -U wxPython ”安装python最新的图形界面模块;

6、看到如图示,说明环境wxpython模块安装成功;

如何用wxFormBuilder给Python绘制图形化界面

7、接下来在Geany软件main.py主程序页面按下快捷键F5运行程序,可以看到图形界面生成成功。

如何用wxFormBuilder给Python绘制图形化界面

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢