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()`

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 表白生成器PHP源码,表白网页在线生成源码[通俗易懂]

    表白生成器PHP源码,表白网页在线生成源码[通俗易懂]在520这个节日里面,很多人都开始了表白计划,对于那些不敢说出口的问题,就直接来此下载520表白网页一键生成软件,帮助你们直接生成最棒的表白页面,让你们增加成功的机会。520表白网页一键生成软件简介如果你喜欢她不能亲自向她说不如做个网页,把自己想说的话写进去,然后发个地址给她,里面添加她喜欢的音乐或者mv。不会做网页怎么办,没事。表白网页生成器帮助你!无需任何编程。一键生成,然后把生成在桌面的i…

  • office2016、office365和office其它版本JH[通俗易懂]

    office2016、office365和office其它版本JH[通俗易懂]Win10系统中会预安装Office,但是没有给JH,网上给了各种解决方案,如JH码、KMS等方式JH。但是效果差强人意。但是网上有一些大牛写的方法倒是立竿见影,下面分享给大家:CSDN现在被网安查的我都不敢修改了,自己原创被搞得涉及版权问题,文章中还不能有pojie和jihuoOJBK我将在JH中间遇到的问题,都罗列在这篇文章里了,也很感谢提出问题的C友们,此处我特别强调一下…

  • apache+php环境搭建教程_怎么搭建Php

    apache+php环境搭建教程_怎么搭建PhpApache+PHP环境搭建

  • 如何查看webpack版本_webpack查询有没有安装

    如何查看webpack版本_webpack查询有没有安装https://blog.csdn.net/weixin_38617311/article/details/868222281,npminfowebpack2,webpack-v如果没有出现,npminstall–globalwebpack-cli,因为注意:webpack4x以上,webpack将命令相关的内容都放到了webpack-cli,所以还需要安装webp…

  • Python元组_python输出元组

    Python元组_python输出元组元组元组的特点:是一种不可变序列,一旦创建就不能修改拆包将元组的元素取出赋值给不同变量>>>a=('hello','world',1

  • Apache struts2 namespace远程命令执行—CVE-2018-11776(S2-057)漏洞复现

    Apache struts2 namespace远程命令执行—CVE-2018-11776(S2-057)漏洞复现S2-057漏洞产生于网站配置xml的时候,有一个namespace的值,该值并没有做详细的安全过滤导致可以写入到xml上,尤其url标签值也没有做通配符的过滤,导致可以执行远程代码以及系统命令到服务器系统中去。启动环境后,在Win10上访问http://IP:port/struts2-showcase1.构建Payload:访问:http://your-ip:8080/struts2-showcase/$%7B233*233%7D/actionChain1.action.

发表回复

您的电子邮箱地址不会被公开。

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