PyQt实现界面与逻辑分离的设计很是方便,详情可以见我的第一篇博文. 不过本文将使用python的标准库 tkinter,来实现界面与逻辑分离的GUI 设计. 我们来设计一个很简单的程序: 目的:长度单位英尺(feet)到米(meter)的转化 实现:输入框输入英尺(feet),标签显示对应的长度米(meter).可以点击按钮,亦可按回车键. 说明:界面使用了 ttk.Frame 容器,各个部件的定位皆使用了 grid() 方法,3行3列 效果:如下 代码: 眼力好的你一定会发现,下面的代码风格…
有些场合,我们需要对数据可视化.单是靠 tkinter 难度太大,而且做出来的效果不一定理想. 此时,将 tkinter 与 matplotlib 结合,是最好的选择. 知识点: 将 tkinter 与 matplotlib 结合的整个套路是固定的,只需要关心我们的绘图逻辑和程序逻辑即可 import matplotlib matplotlib.use('TkAgg') import numpy as np from matplotlib.backends.backend_tkagg impor…
知识点: 使用 tkinter.Frame.tkraise() 函数去提升当前 tkinter.Frame 的 z 轴顺序,使得多个 tkinter.Frame 的可见性得以切换 本文基于:win7 + python34 1 2 3 4 5 import matplotlib matplotlib.use("TkAgg") from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar…
由于要用到文件对话框和消息对话框,所以先给出下面的列表. py2 与 py3 中 tkinter 的变化: Tkinter → tkinter tkMessageBox → tkinter.messagebox tkColorChooser → tkinter.colorchooser tkFileDialog → tkinter.filedialog tkCommonDialog → tkinter.commondialog tkSimpleDialog → tkinter.simpledia…
Windows Forms程序实现界面与逻辑分离的关键是数据绑定技术(Data Binding),这与微软推出的ASP.NET MVC的原理相同,分离业务代码与界面层,提高系统的可维护性. 数据绑定 Data Binding 数据绑定技术的主要内容:数据源(Data Source),控件(Control),绑定方式(Binding).通过绑定控件,将数据源中的属性绑定到界面控件中,并可以实现双向的数据绑定.当界面控件中的值发生改变时,可以通过数据绑定控件,更新控件绑定的对象,当通过代码直接改变对…
软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.3 前言 前面的内容我们介绍了利用QtDesigner来设计界面,再通过命令行工具pyuic5将ui文件转换成py源文件.不过由于要响应事件操作,网网会将相应的槽函数写在ui的py文件里,这样,界面和逻辑开发就混合在一起了,每一次的ui更新都会伴随着转换后py文件的修改,想想就知道烦人了.对于多人协作的项目,这样的效率肯定是低下的.本文就来介绍如何将这二者剥离. 实例讲解 设计ui…
参考: 1.Tkinter之Canvas篇 2.python GUI实践:做一个满图乱跑的小球 3.[Tkinter 教程08] Canvas 图形绘制 4.tkinter模块常用参数(python3) 程序 核心步骤是坐标的移动 和窗口的更新. from tkinter import * import time tk = Tk() #画布 tk.title('EIT_tank') tk.resizable(0,0) #固定窗口大小 tank = Canvas(tk, width=600, he…
本文展示了 pyqt5 信号槽的装饰器实现方式(借鉴自 eirc6) 一个简单的例子.实现功能:两个数相加,显示结果.如图 两个文件,第一个是界面文件 ui_calc.py # ui_calc.py from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Calc(object): def setupUi(self, Form): self.inputSpinBox1 = QtWidgets.QSpinBox(Form) self.inputSpi…
Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范与推荐标准 1. 界面gui方面的前后端分离重大意义1 2. 业务逻辑也适当的迁移js化1 3. 常用分离方法2 3.1. 页面html 静态化2 3.2. Html Ide用好dw ,切莫手写ui界面代码,少量调整可以手动调整.2 3.3. H5 html+ajax与后端彻底的前后端分离2 3.4. Ajax 推荐使用fetch w3c api.也可使用jq ajax备用 .2 3.5. 数据绑定到表格,到form表单使用…
1.创建root: from tkinter import * root = Tk() root.title('GUI设计') # root.attributes("-alpha", 0.3)窗口透明度70 % # w, h = root.maxsize() # root.geometry('%dx%d+%d+%d' % (1675, 976, -14/2, 0/2)) # 初始大小和屏幕位置 root.minsize(1024, 768) # 屏幕最小 # root.resizabl…