首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Tkinter Gui 常用组件介绍 基本使用

,使脚本语言可以开发出品质较好的GUI应用,tkinter是用python做的一个调用接口,底层使用C++编写,运行效率上与C++编写的GUI应用相当,但是开发效率远远高于C++; ---- 本文思路:...点击这个按钮将会在这两个值间切换,一组方框,可以选择其中的任意个 Radiobutton 单选框 一组可选框,其中只有一个可被"选中" ,以当前勾选的值为准 Entry 文本框 文本输入框,文本输入域...Scrollbar 滚动条 对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能 Text 文本域 多行文字区域,可用来收集(或显示)用户输入的文字(类似 HTML 中的 textarea) ScrolledText...,默认值是 NW x、y 定义控件在根窗体中水平和垂直方向上的起始绝对位置,(单位为像素),绝对定位 height、width 控件自身的高度和宽度(单位为像素),绝对定位 relx 设置距离左上角的水平长度百分比...Tk为我们提供了大量封装程序功能的函数和方法,丰富用户的体验感,后续有关于tk的常用代码会在这篇博客中持续更新。

2.9K20

Java中的图形界面编程-GUI

欢迎到我的简书查看我的文集 前言: GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图形用户界面就是以图形的方式来显示你计算机的操作界面...在Java中GUI提供了对象在 java.awt 和 javax.swing 两个包中 在早年中, Java.awt为抽象窗口工具包, 英文为 Abstract Window ToolKit, 需要调用本地的系统方法来实现功能需求...组件里面还能放入组件,在Java中我们叫容器. window 窗体, Panel 面板 Frame小窗口,Dialog对话框,FileDialog文件对话框 GUI 布局 Flow 流式布局 上左下右...边界布局: 东南西北,中, 是Frame默认的布局管理 网格布局管理: GridLayout 卡片布局管理: CardLayout 网格包布局管理: GridBagLayout GUI 简单的小窗体...Button but = new Button("my button");                 //加入一个文本框组件。

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    设计模式的征途—10.装饰(Decorator)模式

    在软件设计中,也有一种类似于新房装修的技术可以对已有的功能进行扩展使之更加符合用户需求,从而使得对象具有更加强大的功能,这便是本次即将介绍的装饰模式。...,如窗体、文本框、列表框等等,由于在使用该构件库时,用户经常要求定制一些特殊的显示效果,例如带滚动条的窗体,带黑色边框的文本框,即带滚动条又带黑色边框的列表框等,因此经常需要对该构件库进行扩展以增强其功能...如何提高图形界面构件库的可扩展性并降低其维护成本是M公司开发部的程序猿们必须要面对的一个问题。...通过分析该设计方案,不难发现存在以下问题:   (1)系统扩展麻烦,在C#/Java中根本无法实现(不支持多继承)。   (2)代码重复,不利于对系统进行修改和维护。   ...二、装饰模式概述 2.1 装饰模式简介   装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为,在现实生活中,这种情况也到处存在,例如一张照片,可以不改变照片本身,给它增加一个相框,使得它具有防潮的功能

    48430

    一起学习设计模式--10.装饰模式

    由于在使用该构件库时,用户经常要求定制一些特殊的显示效果,如带滚动条的窗体、带黑色边框的文本框、既带滚动条又带黑色边框的列表框等,因此经常需要对该构件库进行扩展以增强功能。...开发人员针对上述要求,提出了一个基于继承复用的初始设计方案,基本结构如下: 上图中,在抽象类Component中声明了抽象方法 Display(),其子类 Window、TextBox、ListBox...比如Window下边的 SrollBarWindow、BlackBorderWindow中对Window中的Display()方法进行扩展,分别实现了带滚动条和带黑色边框的窗体。...显然这不是一个好的设计方案,根本原因在于复用机制的不合理。如何让系统中的类可以进行扩展但是又不会导致类的数目急剧增加呢?根据合成复用原则,在实现功能复用时,要多用关联,少用继承。...二、装饰模式概述 1.定义 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。

    47530

    初识Windows程序

    window 操作系统中,处处是窗体 简单 强大 方便 灵活 步骤 新建项目  项目类型 visual C#项目 模板 window应用程序 用partial 将同一个窗体的代码分开放在两个文件中: 一个存放在...vs自动生成的代码中 冒号表示继承 像孩子继承父母的特征所有窗体都继承Form 窗体标题 : Name 窗体图标: Icon 图片背景Backgroundimage 背景颜色 backcolor 最大化按钮...规范化命名可以提高程序的可读性和可维护性 标签label image:标签上的图像 text:显示的文本 文本框 TextBox: MaxLength:最大字符数 MultiLine:是否可以输入多行文本...:文本的对齐方式 Windows应用程序是事件驱动 事件驱动:随时响应用户触发的事件,做出相应的处理 我们需要做的 针对相关事件,编写相应的事件处理程序 编写事件处理程序的步骤 选中控件  在属性窗口中单击...  找到事件  双击生成事件处理方法 编写处理代码 若事件事件处理方法未触发,请检查属性窗口中事件处理程序是否设置正确 窗体FROM load事件:窗体加载时触发 文本框 textbox: textchanged

    4.3K40

    第58节:Java中的图形界面编程-GUI

    前言: GUI是图形用户界面,在Java中,图形用户界面我们用GUI表示,而GUI的完整英文为: Graphical User Interface(图形用户接口), 所谓图形用户界面就是以图形的方式来显示你计算机的操作界面...在Java中GUI提供了对象在 java.awt 和 javax.swing 两个包中 在早年中, Java.awt为抽象窗口工具包, 英文为 Abstract Window ToolKit, 需要调用本地的系统方法来实现功能需求...组件里面还能放入组件,在Java中我们叫容器....边界布局: 东南西北,中, 是Frame默认的布局管理 网格布局管理: GridLayout 卡片布局管理: CardLayout 网格包布局管理: GridBagLayout GUI 简单的小窗体...Button but = new Button("my button"); //加入一个文本框组件。

    1.8K30

    【愚公系列】2023年09月 WPF控件专题 Window窗体属性和事件

    欢迎 点赞✍评论⭐收藏 前言 Windows窗体是Microsoft .NET Framework中提供的一种可视化用户界面(GUI)组件,它提供了一个容器,可以在其中添加其他控件,例如按钮、文本框、...通过向窗体添加控件,并使用事件处理程序来响应用户交互,可以创建功能强大的Windows桌面应用程序。...3.相关案例 案例1:窗体属性 在WPF中,Window是最基本的窗体控件,每个Window控件都有许多可用的属性来定制它的外观和行为。下面是一个窗体的例子,展示了一些常用的窗体属性。...案例2:窗体事件 除了属性,窗体还支持许多事件,例如Loaded、Closed、Closing、StateChanged等。在WPF中,可以通过在XAML代码中添加事件处理程序来响应这些事件。...当用户尝试关闭窗体时,Window_Closing事件处理程序会弹出一个确认框,如果用户选择"否"则取消关闭窗体的操作。

    50311

    三.登录界面功能实现

    分析GUI界面使用过程 首先输入用户名,密码,然后点击提交按钮 获取输入框文本内容 # 获取两个文本框的输入的内容 name = ui.text.text() password = ui.text2.text...将方法放到一个函数中 # 定义一个打印信息的方法 def print_info(): # 获取两个文本框的输入的内容 name = ui.text.text() password...模块文件中导入 Ui_Login类 from ui_login import Ui_Login # 用 QAllication 类创建app app=QApplication(sys.argv) #创建主窗体...window=QMainWindow() #创建自定义界面 ui=Ui_Login() #将自定义界面放置在主窗体中 ui.setupUi(window) #显示主窗体 window.show()...# 定义一个打印信息的方法 def print_info(): # 获取两个文本框的输入的内容 name = ui.text.text() password = ui.text2

    2.2K20

    WinForm枚举容器中的控件,实现控件统一事件处理机制

    但当想对某个容器中的同类控件的相同事件都实现相同的处理方法时,可能通过枚举容器中的控件并指定相关委托来实现事件的处理。...或许你会说,干吗要说得这么复杂,我可以在控件的属性中指定事件处理方法来实现,但当容器中的控件很多,或者在设计过程中加入了新的控件,逐个指定毕竟是很麻烦的一件事。     ...如下图所示,在应用中有两个文本框,我想指定两个文本框(用户名与密码)的Enter、Leave与Validating事件,当文本框获得焦点时改变其背景色,当离开时还原为系统文本颜色,并用Validating...我通过方法AddEventHandler来枚举窗体中的控件,当它是文本框时指定事件的委托,代码如下:         /**////           /// 枚举容器中的控件,并增加文本框的事件处理委托...;                  tb.Focus();              }          }  然后在Form1的构造函数中增加AddEventHandler(this)语句:

    71110

    装饰模式,不难!

    装饰模式概述 现实生活中的“装饰”实例 装饰模式分析 可以在不改变一个对象本身功能的基础上给对象增加额外的新行为 是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系...引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩展原有类的功能 定义 “装饰模式:动态地给一个对象增加一些额外的职责。...装饰模式的应用实例 实例说明: “某软件公司基于面向对象技术开发了一套图形界面构件库——VisualComponent,该构件库提供了大量基本构件,如窗体、文本框、列表框等,由于在使用该构件库时,用户经常要求定制一些特殊的显示效果...,如带滚动条的窗体、带黑色边框的文本框、既带滚动条又带黑色边框的列表框等等,因此经常需要对该构件库进行扩展以增强其功能。...实例类图 图形界面构件库结构图 实例代码 Component:抽象界面构件类,充当抽象构件类 Window:窗体类,充当具体构件类 TextBox:文本框类,充当具体构件类 ListBox:列表框类,

    48030

    C# CheckForIllegalCrossThreadCalls 与Application.DoEvents()

    首先我们先看看在循环比较大的程序中,它的作用还是不错的,起到了一个实时响应的效果,例如: for (int q = 0; q 文本框的值实时响应,给用户带来较好的用户体验,可是DoEvents也带来了效率上的问题,处理同样的一个事件调用了DoEvents后效率降低了好几倍,这也是为什么要慎用的原因了...关于Application.DoEvents()的小研究 在MSDN中的备注是: 当运行 Windows 窗体时,它将创建新窗体,然后该窗体等待处理事件。...他还提到了用这个的缺点是影响了进程的效率,并通过了一个测验证实他的观点。 看了他的博客,我也就仿照他的说明写了个代码进行了测验,第一个代码是同他说的一样,加不加代码的效果是不同的。...在不加的时候,因为优先级的问题,程序会执行主进程的代码,再执行Tick的代码,而加了以后就可以同步执行。 从这个测验后再回头想DoEvents的功能,我就想DoEvents就好比实现了进程的同步。

    1.3K20

    WPF 弹出 popup 里面的 TextBox 无法输入汉字 修复在 Popup 输入法不跟随在 WinForms 弹出的 WPF 的 TextBox 无法输入问题

    这是一个 wpf 的bug,在弹出Popup之后,如果 Popup 里面有 TextBox ,这时无法在里面输入文字。...问了我一个问题,为什么 WinForms 弹出的 WPF 的文本框无法输入数字,但是可以输入其他的内容 一开始我认为的是绑定的问题,如果一个控件绑定了另一个控件,或者有后台代码绑定,有另一个控件绑定了输入框都有方法让用户输入的数字不显示...如果是我在调试,我会先拿到 TextChanged 事件,看是不显示还是没有接收到输入 另外需要判断当前的焦点是否在 TextBox 上 按照这个方法会发现有焦点,但是没有 TextChanged 收到输入...收到数字 解决的方法是调用 EnableModelessKeyboardInterop 传入 WPF 就可以 Window winWPF = new Window();  //WinWPF为想要显示的...- 唐宋元明清2188 - 博客园 解决Winform中弹出WPF窗体不能在文本框中输入的问题 - 飞鹰的专栏 - CSDN博客 Windows 窗体和 WPF 互操作性输入 - 小而美 - CSDN

    2.5K20

    【云+社区年度征文】PySimpleGUI一个建立在tkinter之上更简单但功能强大的GUI

    第3句即调用该工具包中的Window函数来创建一个窗体,本身可以分步来写,即: window = sg.Window('我的第一个GUI窗口') window.Layout(layout) 这两句表明先创建一个窗口...4句即展示了这一技术细节: button, values = window.Read() 这个语句的第一个返回值只是OK按钮的名字,第二个values是一个列表,其中包含用户在文本框中输入的字符串。...但是真正关闭窗体的语句其实是由第5句语句执行的,即: window.Close() 那么又出现一个问题:即为什么用户只点击OK按钮,窗体就不见了呢?...这里面主要用到了一个 sys 的包,这个包里提供一些命令行输入参数等的调用,在该程序中,主要用到了sys.argv 这个变量,该变量是一个 list ,其第1个元素是当前运行的脚本名称,这可以从我们程序的最后打印语句中看到...13.2TabGroup控件的使用 在许多软件中,我们看到过多页面的排列方式,即将功能类似的一些设置放在同一个页面,而为了更紧凑地集合程序,有时我们会将同一大类的功能按其小功能分类列于同一个窗体上,这就要用到多页面控件

    4.7K12

    VB.NET 用循环判断文本框是否为空

    大家好,又见面了,我是你们的朋友全栈君。 第一次敲机房的时候,有很多窗体中都有清空文本框或组合框中内容的功能,当时用了循环来做。...现在第二次机房重构,发现判断文本框、组合框内容是否为空也可以用循环。其实这些功能最直接的方法就是一个一个的判断,不过这样代码基本上是重复的,这应该就是编程中的“坏味道”吧。...在网上查了一些方法,有一种是监理textBox文本框的控件数组,来循环判断,总觉得数组的命名跟咱们的机房有些问题,于是又发现了一个更好的方法。...(右击U层——添加——新建项,在弹出的对话框中继续选择即可添加) 2.在新建的模块中定义结构体Term,并定义Term类型的结构体数组。...模块中添加AllEmpty()函数,用来清空窗体中的文本框、组合框的内容 '定义清空文本框或组合框的函数AllEmpty Public Function AllEmpty(ByVal arrayControl

    1.1K10

    AWT的Container容器

    前言 推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。...在AWT 中,通过 Frame 类实例化窗体对象;默认情况下,得到的窗体既没有大小,也是不可见的;所以必须调用窗体对象的setSize()方法设置大小,调用窗体对象的setVisible()方法设置可见性...整个代码的功能是创建一个带有标题栏的窗口容器,位置在屏幕的(100,100),大小为宽度500和高度300。最后通过设置窗口可见,使窗口显示在屏幕上。...整个代码的功能是创建一个带有滚动条的ScrollPane容器,并在ScrollPane中添加一个TextField和一个Button组件。最后通过设置窗口可见,使窗口显示在屏幕上。...程序明明向 ScrollPane 容器中添加了 一个文本框和一个按钮,但只能看到 一个按钮,却看不到文本框 ,这是为什么 呢?

    11810

    Windows&Linux双系统安装流程

    大家好,又见面了,我是你们的朋友全栈君。 注意事项: 安装Windows&Linux双系统,最好先安装windows系统,否则可能会出现grub引导覆盖的问题。...方法2: 根据你的描述,1.判定硬盘物理是否损坏,在PE下直接格式化,创建一个分区,接在其他电脑上试一下,看看是否识别,不识别磁盘损坏要是识别,请看第二步(第二步往下的解决方案只针对做WIN7系统有效...调用CMD命令行窗体,按SHIFT+F10 报错的时候不要关闭,先不用管它,使用键盘按下快捷键Shift+F10,这个时候会弹出CMD的命令行窗体来,我们将在对话框里输入命令,如下图: ②在弹出...CMD命令行窗体中输入命令: 先在CMD命令行窗体中输入:cd 空格 /d 空格 %windir%\system32\oobe 注意两处空格,输入后按回车; 继续在CMD命令行窗体中输入:msoobe...如果已经安装windows系统,一定要把一个磁盘格式化,不能分配盘符,如果分配盘符在装linux系统中不能识别,容易出错) Window10&&Linux系统启动设置 1.解决安装win7和CentOS7

    8.8K20

    java GUI 快速入门

    创建一个窗口,要继承 Frame,同时会继承 Frame 中的一些方法; Frame 中: super 方法可以设置窗口标题; setSize 设置窗口大小,(width,hight) setVisible...妈耶,我都不知道自己在说啥了。 C# 中,事件没有那么麻烦,也不需要这么BB。。。...组件方法 如图是 GUI 控件中常用的控件关系继承图。 ? 组件分为容器(Container)和控件。 容器又分为窗体(Window)和面板(Panel)。...文本框的构造函数如下 TextField():构造一个单行文本输入框。 TextField(int):指定长度的单行文本输入框。...文本框有两个常用事件 ActionEvent事件 在文本框按回车键时引发 注册:addActionListener() 接口:ActionListener 方法:public void actionPerformed

    1.7K40

    在Linux系统运行WinForm程序

    下面我们看看一个简单的WinForm程序在Redhat的运行效果: 显示效果不错,跟在Windows下面的VS2008中的设计界面一致,但有一个致命Bug,就是窗体无法接收键盘事件,尽管使用鼠标没有任何问题...理论上,在Redhat也可以运行一个mono+Gtk#的窗体界面,无赖我的Redhat先是装的mono 2.8.1,我当前使用的monodeveloper开发的Gtk程序必须使用mono 2.8.2的库...2,在OpenSUSE 上运行WinForm程序 OpenSUSE 是一个很漂亮的Linux发行版,我在http://www.go-mono.com/mono-downloads/download.html...,下面是该虚拟机的系统桌面: 在它的英文环境下,运行MonoWinForm程序,除了汉字无法显示,没有Redhat中的无法输入文字的问题 切换OpenSUSE系统到简体中文环境,再次运行MonoWinForm...程序,虽然可以显示出汉字,但是文本框和窗体大小显示严重有问题,整个窗体都变了形,输入文字反应奇慢,不过没有RedHat中窗体失去响应的问题。

    6.6K70

    CEGUI学习

    它定义了控件的细节,我觉得在CEGUI自己给的那个例子looknfeel(TaharezLook)中写的就不错,很多时候可以模仿它来写。...在CEGUI中使用layout文件(1) CEGUI支持两种方式的资源使用,一种就是在前文可见的直接在c++文件当中创建窗体,使用窗体;另一种方式就是在layout文件当中定制窗体。...由于CEGUI当中的窗体名称是一个全局的向量,所以不能有同名的窗体,这样,命名规则就成了一个问题,当游戏制作到了大规模的UI制作阶段,这个问题尤为明显。...但是那个版本几乎就不能用,有许多问题,如,其右边的工作区居然没有滚动条!另外,它的图片框一旦面积大的把面积小的覆盖之后,面积小的就点不到了。还有许多莫名其妙的崩溃问题。...这个编辑器还是使用wxWidgets,配置工程同前文提到的LayoutEditor。 0.5版本的ImagesetEditor编辑器在功能上有所改观,但是问题还是不少。

    67430

    Python-Tkinter图形化界面设计(详细教程 )

    执行该程序,一个窗体就呈现出来了。在这个主循环的根窗体中,可持续呈现中的其他可视化控件实例,监测事件的发生并执行相应的处理程序。...relx,rely:控件实例在根窗体中水平和垂直方向上起始布局的相对位置。即相对于根窗体宽和高的比例位置,取值在0.0~1.0之间。...看下面的一个例子:实现四则运算计算器,将两个操作数分别填入两个文本框后,通过选择组合框中的算法触发运算,如下: ?...例子: 仿照window自带的“记事本”中的文件和编辑 菜单,实现在主菜单个快捷菜单上触发菜单命令,并相应改变窗体上的标签的文本内容。效果如下: ?...如下的例子:在根窗体上创建菜单,触发创建一个新的窗体 ?

    14.4K40
    领券