#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界面设计之控件精确定位的更多相关文章

  1. 界面设计-Edit控件的Style设置

    以下文字转贴ChinaCock QQ 223717588群: 1. 首先在Form上放一个TEdit类型控件Edit1,最终的效果如下图: 2.选中控件Edit1,点击鼠标右键,在弹出菜单中选择“Ed ...

  2. MATLAB(3)——GUI界面设计入门

    作者:桂. 时间:2017-03-01  18:43:35 链接:http://www.cnblogs.com/xingshansi/articles/6485688.html 声明:转载请注明出处, ...

  3. asp.net中遍历界面上所有控件进行属性设置

    * 使用方法: *  前台页面调用方法,重置:    protected void Reset_Click(object sender, EventArgs e)        {           ...

  4. GUI学习之四——QWidget控件学习总结

    上一章将的QObject是PyQt里所有控件的基类,并不属于可视化的控件.这一章所讲的QWidget,是所有可视化控件的基类. QWidget包含下面几点特性 a.控件是用户界面的最小的元素 b.每个 ...

  5. Excel开发学习笔记:界面交互与控件的布局

    遇到一个数据处理自动化的问题,于是打算开发一个基于excel的小工具.在业余时间一边自学一边实践,抽空把一些知识写下来以备今后参考,因为走的是盲人摸象的野路子,幼稚与错误请多包涵. , ).value ...

  6. PyQt5多个GUI界面设计

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/90454379 - 写在前面 本科毕业设计终于告一段落了.特 ...

  7. android 支持上拉加载,下拉刷新的列表控件SwipeRefreshLayout的二次封装

    上拉加载,下拉刷新的列表控件,大家一定都封装过,或者使用过 源代码,我会在最后贴出来 这篇代码主要是为了解决两个问题 1.滑动冲突得问题 2.listview无数据时,无数据布局的展示问题 下方列出的 ...

  8. Asp.net绑定带层次下拉框(select控件)

    1.效果图 2.数据库中表数据结构 3.前台页面 <select id="pid" runat="server" style="width:16 ...

  9. 不在界面上用控件 动态创建idhttp,IdAntiFreeze来用

    不在界面上用控件 动态创建idhttp,IdAntiFreeze来用 var IdHTTP: Tidhttp; IdAntiFreeze: TidAntiFreeze; begin IdAntiFre ...

随机推荐

  1. KendoUI 自定义CheckBoxList

    不多说直接上代码 CSS完整代码: .e-selectboxs-container { display: table; } .e-selectbox { min-width: 100px; heigh ...

  2. [Tom and Bag][需要记录过程的dp]

    http://acm.beihua.edu.cn/problem/1007 Tom and Bag   Description Tom is the most handsome CCPC contes ...

  3. sklearn learn preprocessing

    train_test_split sklearn.model_selection.train_test_split(*arrays, test_size(float,int/None),#defaul ...

  4. mysql 生成时间序列数据 - 存储过程

    由于时间自动转换为int值, 做一步转化,也可在调用时处理 use `test`; CREATE table test.test1 as SELECT state, id, `规格条码`, `色号条码 ...

  5. 深入理解JavaScript事件循环机制

    前言 众所周知,JavaScript 是一门单线程语言,虽然在 html5 中提出了 Web-Worker ,但这并未改变 JavaScript 是单线程这一核心.可看HTML规范中的这段话: To ...

  6. python selenium-webdriver 元素操作之鼠标操作(四)

    上节内容主要说明了元素的定位,本节内容说要说对元素的操作,元素的操作分为两部分一部分是鼠标的操作,另一种是对键盘对元素的操作,下面我们主要讲解一下鼠标对元素的操作. webdriver 模块中几种比较 ...

  7. FPGA Asynchronous FIFO设计思路

    FPGA Asynchronous FIFO设计思路 将一个多位宽,且在不停变化的数据从一个时钟域传递到另一个时钟域是比较困难的. 同步FIFO的指针比较好确定,当FIFO counter达到上限值时 ...

  8. 面向对象:静态属性,静态方法,组合,继承,衍生,继承之mro线性顺序列表,面向对象综合实例

    1.静态属性(附有装饰器) class Room: def __init__(self,name,owner,width,length,height): self.name=name self.own ...

  9. ssh:22端口拒绝服务

    在Hadoop配置中,被这个问题坑的死去活来的.总结一下,注意以下几点: 1.sshd是否启动.一般你ssh loaclhost的时候22端口拒绝,就很有可能是这个问题了. 手动打开:/etc/ini ...

  10. 【git】之使用shell脚本提交代码

    为减少提交步骤,防止提交错误,使用Shell脚本进行git提交不失一件好事 #!/bin/sh # @author Hubal # @Email Hubal@123.com # @createBy - ...