首页 > 其他分享 >每日一模块-tkinter

每日一模块-tkinter

时间:2023-04-05 16:33:49浏览次数:38  
标签:__ tkinter parent 每日 init 模块 选项卡 self wx

制作gui

选项卡学习

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:SunXiuWen
# datetime:2023/02/10
"""
https://iowiki.com/wxpython/wx_textctrl_class.html
https://blog.csdn.net/weixin_55556883/article/details/122590380
https://blog.csdn.net/Logintern09/article/details/126685315
https://docs.wxpython.org/wx.DirPickerCtrl.html?highlight=dirpicker#wx.DirPickerCtrl
https://blog.csdn.net/cubejava/article/details/128480069
https://blog.csdn.net/weixin_34357928/article/details/92267787
"""
import wx


class Tab1p(wx.Panel):  # 第一个选项卡类,类继承于wx.Panel

    def __init__(self, parent):
        wx.Panel.__init__(self, parent)

        t = wx.StaticText(self, -1, "选项卡1", (20, 20))
        button = wx.Button(self,
                           label="拉取Pull",
                           pos=(125, 10),  # 指定按钮在画板中的位置
                           size=(50, 50))  # 指定按钮的大小


class Tab2p(wx.Panel):  # 第二个选项卡类

    def __init__(self, parent):
        wx.Panel.__init__(self, parent)

        t = wx.StaticText(self, -1, "选项卡2", (20, 20))


class Tab3p(wx.Panel):  # 第三个选项卡类

    def __init__(self, parent):
        wx.Panel.__init__(self, parent)

        t = wx.StaticText(self, -1, "选项卡3", (20, 20))


class MainWindow(wx.Frame):  # 主窗口类

    def __init__(self):
        wx.Frame.__init__(self, parent=None, id=-1, title='选项卡展示', size=(640, 480))

        p = wx.Panel(self)  # 创建面板

        self.nb = wx.Notebook(p)  # 创建一个wx.Notebook对象

        self.tab1 = Tab1p(self.nb)  # 创建一个选项卡控件

        self.tab2 = Tab2p(self.nb)

        self.tab3 = Tab3p(self.nb)

        self.nb.AddPage(self.tab1, '选项卡(1)')  # 将选项卡添加到wx.Notebook小部件上

        self.nb.AddPage(self.tab2, '选项卡(2)')

        self.nb.AddPage(self.tab3, '选项卡(3)')

        sizer = wx.BoxSizer()

        sizer.Add(self.nb, 1, wx.EXPAND)

        p.SetSizer(sizer)

        p.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.tabChange)  # 绑定选项卡切换事件

    def tabChange(self, evt):
        print('当前是第{}块选项卡'.format(self.nb.GetSelection() + 1))


app = wx.App()

frame = MainWindow()

frame.Show()
app.MainLoop()

时间选择器

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:SunXiuWen
# datetime:2023/02/13
import wx
import wx.adv
import datetime
"""
https://www.bilibili.com/read/cv11509656/
"""


class wCalendar(wx.Frame):

    def __init__(self, parent, id, *p):
        super().__init__(parent, id)

        self.parent = parent

    def dateInit(self, *p):
        dtime = p[0][0]

        curdate = datetime.date.today()

        yy = curdate.year

        if len(p[0]) > 1:
            yy = yy + p[0][1]

        wxc = wx.adv.CalendarCtrl(self, -1, pos=(0, 0), size=(220, 220),

                                  date=datetime.datetime(yy, curdate.month, curdate.day),

                                  style=wx.adv.DP_ALLOWNONE)

        wxc.Bind(wx.adv.EVT_CALENDAR, lambda e: self.getDateData(wxc, dtime))

        self.SetSize((260, 260))

        self.SetMaxSize((260, 260))

        self.SetTitle('选择日期')

        self.Centre()

        # self.Show(True)

    def getDateData(self, hander, dT):
        ss = hander.GetDate()
        nD = '%s-%s-%s' % (ss.year, ss.month + 1, ss.day)
        dT.SetValue(nD)
        self.Close()


app = wx.App()
f = wCalendar(None, wx.ID_ANY)
f.show()
app.MainLoop()

标签:__,tkinter,parent,每日,init,模块,选项卡,self,wx
From: https://www.cnblogs.com/sunxiuwen/p/17289664.html

相关文章

  • java——maven——分模块开发与设计
                注意:   参数说明:-DgroupId:项目组ID,通常为组织名或公司网址的反写。-DartifactId:项目名。-DarchetypeArtifactId:指定ArchetypeId,maven-archetype-quickstart用于快速创建一个简单的Maven项目。-DinteractiveMode:是......
  • Javascript模块化编程(三):require.js的用法
    这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。我采用的是一个非常流行的库require.js。一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分......
  • [leetcode每日一题]4.5
    2427. 公因子的数目提示简单20相关企业给你两个正整数 a 和 b ,返回 a 和 b 的 公 因子的数目。如果 x 可以同时整除 a 和 b ,则认为 x 是 a 和 b 的一个 公因子 。 示例1:输入:a=12,b=6输出:4解释:12和6的公因子是1、2、3、6。示例2:输入:a=25,......
  • 每日总结2023/3.28(pycharm创建pp工程)
            defcalculate_fee(distance_travelled):return10+2*distance_travelledforxin[1.0,3.0,5.0,9.0,10.0,20.0]:print(calculate_fee(x))   ......
  • 每日总结 4.4
    今天进行了模拟售卖机的javaweb的简单编写,编写了大概的流程。代码量大概50行。<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@pageimport="toolse.Tll"%><%@pageimport="java.util.*&......
  • 4.04每日总结
    以下是SQLSELECT语句使用WHERE子句从数据表中读取数据的通用语法:SELECTfield1,field2,...fieldNFROMtable_name1,table_name2...[WHEREcondition1[AND[OR]]condition2.....查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条......
  • 每日总结2023/4.3(conda下的paddle安装)
        上一步我们·已经成功安装了conda,首先我们创建一个虚拟环境condacreate-npaddle22python=你的python版本我这里命名为了paddle22  安装完成后输入conda.batactivitepaddle22 进入我们的虚拟环境,根据个人提示,我的版本无法使用condaactivitepaddle22......
  • Abp自定义模块种子数据
    模块的初始化或者系统的基本运行需要一些基础数据,可以利用ABP提供的种子数据基础上设置进行数据播种。自定义模块自定义模块可以定义自己的DataSeeder,例如数据字典:publicinterfaceIDataDictionaryDataSeeder{TaskSeedAsync(stringname,stringvalue);}定义......
  • 每日总结2023/4/4(anaconda)
    今天学习安装了python的工具conda虚拟环境首先我安装了python3.7的版本Python3.7.0(32/64位)下载地址:链接:https://pan.baidu.com/s/1AScVSi0w6kwyVk0Kl0MMHQ密码:x9pahttps://mp.weixin.qq.com/s/qV9q9l37uoVYHMysDyMrww以上是python3.7的安装教程我使用的是pycharm直接安......
  • Revit附加模块Add-in Manager里一次性加载所有.dll文件
    publicResultExecute(ExternalCommandDatacommandData,refstringmessage,ElementSetelements){GlobalRevitData.commandData=commandData;AppDomain.CurrentDomain.AssemblyResolve+=CurrentDomain_AssemblyResolve;//在Execute方法体内添加这行......