#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. creator Box2d的相关物理问题

      项目的屏幕配置为 1152*640,没有对这个数值调整来测试质量的除数1024会不会变化 m = h * w / 1024 (m 质量,h 物体高度,w 物体宽度) g = 0, -320 ( ( ...

  2. 6. Vulnerability scanners (漏洞扫描器 11个)

    Nessus是最流行和最有能力的漏洞扫描程序之一,特别为UNIX系统. 它最初是免费的和开源的,但是他们在2005年关闭了源代码,并在2008年删除了免费的“注册Feed”版本.现在要每年花费2,19 ...

  3. c++中函数指针作为int传递

    int f() { ; } typedef int (*method)(); int _tmain(int argc, _TCHAR* argv[]) { int value = (int)& ...

  4. SQL Server 快速大数据排序方法

    SQL Server 中虽然有 ORDER BY NewID() 方法,但对于数据量比较大的结果集来说,排序那慢的可不是一星半点. 微软官方给了一种方案,https://msdn.microsoft. ...

  5. 初始化HTML样式(转载)

    方式一 ;; } body { background:#fff; color:#555; font-size:14px; font-family: Verdana, Arial, Helvetica, ...

  6. char* 与 string 互转

    因为c#强调安全性,每次意图将string的地址赋给指针时,系统都要报错,原因是系统无法计算字符串的空间和地址,这里不多bb,使用IntPtr类(using Runtime.InteropServic ...

  7. 前端基础:web语义化

    web语义化 一.什么是web语义化? web语义化包含两方面,一是html标签语义化,简单来说就是要用合适的标签来表述适当的内容,标题用<h1>~~<h6>标签,段落用< ...

  8. [IDEA]IDEA设置注释模板

    IDEA的注释模板有类注释模板和方法注释模板两种,下面分别介绍: 一.类注释模板 菜单路径:File->Settings->Editor->File and Code Templat ...

  9. 关于FIFO memory buffer模块的设计

    关于FIFO memory buffer模块的设计 FIFO memory `timescale 1ns / 1ps ///////////////////////////////////////// ...

  10. SpringMVC Mybatis Spring

    Spring MVC Mybatis整合过程中 Mapper.java 不需要使用 @componenet, Service 等spring注解 但是在service 中创建mapper对象的时候是需 ...