python3下GUI界面设计之控件精确定位
#codeing:utf-8
import tkinter
import tkinter.messagebox
from tkinter import filedialog
from tkinter import *
#定义响应函数
def CopyCmd():
tkinter.messagebox.showinfo("消息框","这是一个消息框\n你选中的是复制")
def PasteCmd():
tkinter.messagebox.askokcancel('提示','这是一个消息框\n你选中的是粘贴')
def OpenFile():
r = filedialog.askopenfilename(title='打开文件', filetypes=[('Python', '*.py *.pyw'), ('All Files', '*')])
e1.delete(0,END) #清除输入框
e1.insert(10,r) #输入框赋值
a1=e1.get() #取得新值
print(a1) #打印新值
def SaveFile():
r = filedialog.asksaveasfilename(title='保存文件', initialdir='d:\mywork', initialfile='hello.py')
print(r)
#开始描绘界面
root=tkinter.Tk()
root.title('自定义GUI界面')
root.geometry('400x300+380+120') #自定义窗体大小
root["bg"] = "peru" #窗口背景色
root.resizable(False, False) #固定窗体大小
#标签
label=tkinter.Label(root,text="这是一个提示",font=("宋体",9,"normal"),fg='blue',bg='peru')
label.place(relx=0.085, rely=0.07)
#输入框
e1=tkinter.Entry(root,width=40,font=("宋体",9,"normal"),bg="lightblue",fg="midnightblue")
e2=tkinter.Entry(root,width=30,font=("宋体",9,"normal"),bg="lightblue",fg="midnightblue")
e1.place(relx=0.085, rely=0.15)
e2.place(relx=0.085, rely=0.25)
e1.insert(10,"这是默认值")
e2.insert(12,"这是第二个输入框")
#按钮
button1=tkinter.Button(root,text="打开文件",font=("宋体",9,"normal"),fg='red',bg='wheat',command=OpenFile)
button1.place(relx=0.1, rely=0.8, relwidth=0.2, relheight=0.13)
button2=tkinter.Button(root,text="保存文件",font=("宋体",9,"normal"),fg='green',bg='wheat',command=SaveFile)
button2.place(relx=0.35, rely=0.8, relwidth=0.2, relheight=0.13)
#定义一个右键菜单
menu=tkinter.Menu(root,tearoff=0)
menu.add_command(label="复制",command=CopyCmd)
menu.add_command(label="粘贴",command=PasteCmd)
menu.add_separator()
menu.add_command(label="剪切")
def popupmenu(event):
menu.post(event.x_root,event.y_root)
root.bind("<Button-3>",popupmenu)
root.mainloop()
python3下GUI界面设计之控件精确定位的更多相关文章
- 界面设计-Edit控件的Style设置
以下文字转贴ChinaCock QQ 223717588群: 1. 首先在Form上放一个TEdit类型控件Edit1,最终的效果如下图: 2.选中控件Edit1,点击鼠标右键,在弹出菜单中选择“Ed ...
- MATLAB(3)——GUI界面设计入门
作者:桂. 时间:2017-03-01 18:43:35 链接:http://www.cnblogs.com/xingshansi/articles/6485688.html 声明:转载请注明出处, ...
- asp.net中遍历界面上所有控件进行属性设置
* 使用方法: * 前台页面调用方法,重置: protected void Reset_Click(object sender, EventArgs e) { ...
- GUI学习之四——QWidget控件学习总结
上一章将的QObject是PyQt里所有控件的基类,并不属于可视化的控件.这一章所讲的QWidget,是所有可视化控件的基类. QWidget包含下面几点特性 a.控件是用户界面的最小的元素 b.每个 ...
- Excel开发学习笔记:界面交互与控件的布局
遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. , ).value ...
- PyQt5多个GUI界面设计
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/90454379 - 写在前面 本科毕业设计终于告一段落了.特 ...
- android 支持上拉加载,下拉刷新的列表控件SwipeRefreshLayout的二次封装
上拉加载,下拉刷新的列表控件,大家一定都封装过,或者使用过 源代码,我会在最后贴出来 这篇代码主要是为了解决两个问题 1.滑动冲突得问题 2.listview无数据时,无数据布局的展示问题 下方列出的 ...
- Asp.net绑定带层次下拉框(select控件)
1.效果图 2.数据库中表数据结构 3.前台页面 <select id="pid" runat="server" style="width:16 ...
- 不在界面上用控件 动态创建idhttp,IdAntiFreeze来用
不在界面上用控件 动态创建idhttp,IdAntiFreeze来用 var IdHTTP: Tidhttp; IdAntiFreeze: TidAntiFreeze; begin IdAntiFre ...
随机推荐
- Python map,filter,reduce函数
# -*- coding:utf-8 -*- #定义一个自己的map函数list_list = [1,2,4,8,16] def my_map(func,iterable): my_list = [] ...
- C++——volatile关键字的学习
首先声明一点,本文是关于volatile关键字的学习,学习内容主要是来自一些大牛的网络博客. 一篇是何登成先生的C/C++ Volatile关键词深度剖析(http://hedengcheng.com ...
- 2018-2019-2 20175202实验一《Java开发环境的熟悉》实验报告
2018-2019-2 20175202实验一<Java开发环境的熟悉>实验报告 一.实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA 编辑.编译.运行.调试Jav ...
- java-新建简单的Web项目
参考链接: https://www.cnblogs.com/silentdoer/articles/7134332.html web.xml: <?xml version="1.0&q ...
- Centos 7 安装图形化环境
安装系统时,使用了最小化安装,当需要用到图形界面的时候需要安装图形界面支持 环境是centos7.5最小化安装 1,先更新系统 yum -y upgrade 这里说明一下upgrade和update的 ...
- php在laravel中使用自定义的Common类
众所周知,laravel是一款高度集成的开发框架,框架内置非常多的操作方法,从而保证了我们的开发效率.但是在日常中为了满足我们的个性化业务,也需要自己去编写工具类,在laravel中我们完成编写后还需 ...
- python io-os
#IO - os import os; #文件改名 #os.rename('io.txt','newio.txt'); #删除文件 #os.remove('io2.txt'); #创建文件夹(目录) ...
- 【Leecode】两数相加
学习了链表结构,链表中元素的访问,对象指针的初始化与赋值,链表的创建(多个节点链接起来),进位计算的表达. 100ms /** * Definition for singly-linked list. ...
- 64位Win7系统nbtstat 问题
64位Win7系统nbtstat 问题 姜糖水 2015-02-02 195 阅读http://ju.outofmemory.cn/entry/114353 在32位系统写:"cmd / ...
- InfluxDB安装和简介
InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统. 一.InfluxDB 简介 InfluxDB ...