python wxpython菜鸟教程_wxpython新手向教程

python wxpython菜鸟教程_wxpython新手向教程wxpython教程手写wxpython会有各种问题,可以去下载wxformbuilder布局管理器然后去百度一下这个布局管理器的教程,这里太多了不多赘述。两种创建窗口方式:classMyFrame(wx.Frame)和classMyPanel(wx.Panel)来继承wx.Frame和wx.Panel,但是用wxformbuilder来创建布局和窗口会自动帮忙写好。继承wx.Frame的结尾…

大家好,又见面了,我是你们的朋友全栈君。

wxpython教程

手写wxpython会有各种问题,可以去下载wxformbuilder布局管理器

然后去百度一下这个布局管理器的教程,这里太多了不多赘述。

两种创建窗口方式:class MyFrame(wx.Frame)和class MyPanel(wx.Panel)来继承wx.Frame和wx.Panel,但是用wxformbuilder来创建布局和窗口会自动帮忙写好。

继承wx.Frame的结尾是app=wx.App() frm=MyFrame() frm.Show() app.MainLoop()Show中的参数为True/False,False则不可见窗口

继承wx.Panel的结尾是app = wx.App() frame = wx.Frame(None) panel = MyPanel(frame) frame.Show() app.MainLoop()

MainLoop为每个继承类都要填写,否则无法运行

基本的控件TextCtrl,Button,StaticText

TextCtrl

基本的属性Clear()(清空TextCtrl中的内容),AppendText()(在末尾添加文本)

排列布局在wxformbuilder中都有举几个列子(wx.TE_MULTILNE为可以进行多行输入,wx.TE_LEFT为左对齐,可以用 | 来进行多种styel组合的方式)

Button

wx.Button来创建按钮

按钮调用函数

可以这么写self.Button.Bind(self,self.func)但是在wxformbuilder进行设置事件,它会写好的

StaticText

可以利用self.tc = wx.StaticText(self, 0,’ str ‘)

第三个参数为标签内容

以上都是在 class MyPanel(wx.Panel):的理论上进行的,控件最好都是在Panel上进行控制和编写!!

panel的创建方式wx.Panel.init(self, parent)

frame的创建方式 wx.Frame.init(self,None,title=“str”)

以上都可以用wxformbuilder来完成!

下面插入我的一段作业代码“

#– coding: utf-8 —

import wx

import wx.xrc

import time

import random

import threading

‘’‘利用threading解决while死循环会卡死程序的问题,’’’

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

Class MyPanel1

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

dict = {1: ‘name’,

2: ‘name’,

3: ‘name’,

4: ‘name’,

5: ‘name‘,

6: ‘name’,

7: ‘name’,

8: ‘name’,

9: ‘name’,

10: ‘name’,

11: ‘name’,

12: ‘name’,

13: ‘name’,

14: ‘name’,

15: ‘name’,

16: ‘name’,

17: ‘name’,

18: ‘name’,

19: ‘name’,

20: ‘name’,

21: ‘name’,

22: ‘name’,

23: ‘name’,

24: ‘name’,

25: ‘name’,

26: ‘name’,

27: ‘name’,

28: ‘name’}

class MyPanel(wx.Panel):

def __init__(self, parent):

wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(500, 300),

style=wx.TAB_TRAVERSAL)

self.Sure = False

bSizer1 = wx.BoxSizer(wx.VERTICAL)

self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0)

self.m_staticText1.Wrap(-1)

bSizer1.Add(self.m_staticText1, 1, wx.ALL | wx.EXPAND, 5)

gSizer1 = wx.GridSizer(0, 2, 0, 0)

self.StartButton = wx.Button(self, wx.ID_ANY, u”Start”, wx.DefaultPosition, wx.DefaultSize, 0)

gSizer1.Add(self.StartButton, 0, wx.ALL, 5)

self.StopButton = wx.Button(self, wx.ID_ANY, u”Stop”, wx.DefaultPosition, wx.DefaultSize, 0)

gSizer1.Add(self.StopButton, 0, wx.ALL | wx.ALIGN_RIGHT, 5)

bSizer1.Add(gSizer1, 1, wx.EXPAND, 5)

self.SetSizer(bSizer1)

self.Layout()

# Connect Events

self.StartButton.Bind(wx.EVT_BUTTON, self.StartButtonOnButtonClick)

self.StopButton.Bind(wx.EVT_BUTTON, self.StopButtonOnButtonClick)

def __del__(self):

pass

# Virtual event handlers, overide them in your derived class

def StartButtonOnButtonClick(self, event):

self.Sure = True

def StopButtonOnButtonClick(self, event):

self.Sure = False

def Round(self):

self.m_staticText1.SetLabel(‘现在开始抽取’)

while True:

if self.Sure == True:

self.m_staticText1.SetLabel(‘{0}’.format(dict[random.randint(1,28)]))

time.sleep(0.1)

app = wx.App()

frame = wx.Frame(None)

panel = MyPanel(frame)

frame.Show()

task=threading.Thread(target=panel.Round)

task.start()

app.MainLoop()`

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143198.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 笔记28-MYSQL约束「建议收藏」

    笔记28-MYSQL约束「建议收藏」DQL:查询语句1.排序查询 *语法:orderby子句 *orderby排序字段1排序方式1,排序字段2排序方式2… *排序方式: *ASC:升序,默认的。 *DESC:降序。 *注意: *如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。2.聚合函数:将一列数据作为一个整体,进行纵向的计算。 1.count:计算个数 1.一般选择非空的列:主键 2.count(*) 2.max:计算最大值 3.

    2022年9月27日
    0
  • 人工智能,这五个行业岗位未来很吃香!

    人工智能,这五个行业岗位未来很吃香!

    2021年11月3日
    204
  • 在Windows10安装部署Golang开发环境「建议收藏」

    在Windows10安装部署Golang开发环境

    2022年2月12日
    43
  • 什么是组件_webview组件

    什么是组件_webview组件1.FlowPanel普通容器1//普通的容器,使用HTML默认的布局行为2FlowPanelflowPanel=newFlowPanel();3flowPanel.add(n

    2022年8月2日
    5
  • UPX脱壳详细分析

    UPX脱壳详细分析文章标题】:UPX脱壳详细分析【文章作者】:index09【使用工具】:UPX+OD+Stud_PE+ImportREC——————————————————————————–【详细过程】又被R公司鄙视了,每次都被相同的理由鄙视。哭……于是决定好好学一下逆向了。首先做个幼儿级的脱壳练习,当做开始吧。网上有很多类似文章,基本只写了找OEP的过程,这里稍加分

    2022年7月19日
    15
  • 华为ensp安装包_华为服务器安装系统教程

    华为ensp安装包_华为服务器安装系统教程什么是eNSPeNSP是由华为公司研发并且免费供大家使用的图形化网络操作平台,主要是对各大企业的网络。路由器,以及交换机路由器进行模拟,呈现一个真实的场景,让用户能模拟练习网络技术!软件特点还原实景1,可模拟华为的AR路由器,部分交换机以及客户端实现企业网和运营商的图面呈现2,可以模拟客户机终端,云,中继交换机等3,仿真设备功能,快速的学习华为命令。快速了解华为命令4,可以通过真实网卡实现与真实设备的对接5,模拟接口抓包,可以很直观的看到协议的交互过程。具体图文安装步骤详解..

    2022年10月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号