进击RDC的第二天(3.22)

今天学了:

一.布局管理器(二):grid

  • 1.按行/列形式排列组件,是三个布局管理器中最灵活多变的
  • 2.使用 grid 排列组件,只需告诉它你想要将组件放置的位置(行/列,row 选项指定行,cloumn 选项指定列)。此外,你并不用提前指出网格(grid 分布给组件的位置称为网格)的尺寸,因为管理器会自动计算。
import tkinter as tk
 
root = tk.Tk()
 
# column 默认值是 0
tk.Label(root, text="用户名").grid(row=0)
tk.Label(root, text="密码").grid(row=1)
 
tk.Entry(root).grid(row=0, column=1)
tk.Entry(root, show="*").grid(row=1, column=1)
 
root.mainloop()
复制代码

  • 3.默认情况下组件会居中显示在对应的网格里,你可以使用 sticky 选项来修改这一特性。该选项可以使用的值有 "e","w","s","n"(ewsn 分别表示东西南北,即上北下南左西右东)以及它们的组合。因此,我们可以通过 sticky = "w" 使得 Label 左对齐
tk.Label(root, text="用户名").grid(row=0, sticky="w")
tk.Label(root, text="密码").grid(row=1, sticky="w")
复制代码

  • 4.若需要多个网格来放置一个组件,只需要指定 rowspan 和 columnspan 就可以实现跨行和跨列的功能。
import tkinter as tk
 
root = tk.Tk()
 
# column 默认值是 0
tk.Label(root, text="用户名").grid(row=0, sticky="w")
tk.Label(root, text="密码").grid(row=1, sticky="w")
 
tk.Entry(root).grid(row=0, column=1)
tk.Entry(root, show="*").grid(row=1, column=1)
 
photo = tk.PhotoImage(file="logo.gif")
tk.Label(root, image=photo).grid(row=0, column=2, rowspan=2, padx=5, pady=5) #rowspan=2 跨两行
 
tk.Button(text="提交", width=10).grid(row=2, columnspan=3, pady=5) #columnspan=3 跨三列
 
root.mainloop()
复制代码

二.组件(八):Text

  • 1.主要目的是显示多行文本,但它常常也被用于作为简单的文本编辑器和网页浏览器使用
  • 2.当你创建一个 Text组件的时候,它里边是没有内容的。为了给其插入内容,可以使用 insert() 方法以及 "insert" 或 "end" 索引号
import tkinter as tk

root=tk.Tk() 
text=tk.Text(root)
text.pack()
text.insert('insert','我要进')
text.insert('end','研发中心')
root.mainloop()
复制代码

  • 3.insert() 方法有一个可选的参数,用于指定一个或多个“标签”
import tkinter as tk

root=tk.Tk() 
text=tk.Text(root,width=20,height=5)
text.pack()
text.tag_config('tag_1',backgroun='yellow',foreground='red') #注意属性
text.insert('insert','我要进')
text.insert('end','研发中心','tag_1')
root.mainloop()
复制代码

  • 4.在 Text 组件中插入对象,可以使用 window_create() 和 image_create() 方法
import tkinter as tk

root=tk.Tk() 
text=tk.Text(root,width=15,height=5)
text.pack()
text.insert('insert','我要进研发中心')
def func():
    print('研发中心欢迎你')
b=tk.Button(root,text='点我',command=func)
text.window_create('insert',window=b)
root.mainloop()

复制代码

关于tkinter的内容暂时先学到这里,制作QQ音乐下载器过程中遇到问题再接着学,下面将开始学习Mysql数据库相关的内容。

关于SQL语句:

  • 1.SELECT VS SELECT DISTINCT:
SELCT的语法结构:
SELECT column_name,column_name 
FROM table_name
SELECT DISTINCT的语法结构:
SELECT DISTINCT column_name,column_name 
FROM table_name;
复制代码
  • 用法基本相同,只是在效果上,SELECT选取所选列的所有数据,SELECT DISTINCT选择所选列中无重复的数据(相当于SELECT添加了去重效果)

  • 2.WHERE:

WHERE的语法结构:
SELECT column_name,column_name 
FROM table_name 
WHERE column_name operator value;
复制代码

WHERE可实现过滤数据的功能,WHERE子句中可使用:

  • ①比较运算符:= > < >= ,<=, !=,<> 表示(不等于);

  • ②逻辑运算符:NOT AND OR(优先级递减);

  • ③特殊运算符:is null,between and,in,like(后面再详解)

  • 3.ORDER BY:

ORDER BY的语法结构
SELECT column_name,column_name 
FROM table_name 
ORDER BY column_name,column_name ASC|DESC;
复制代码
  • 默认按照升序排列,若想按照降序排列可以使用DESC关键字。
  • 也可以按照多列排序,注意这个例子:

  • a:先将country值这一列排序,同为CN的排前面,同属USA的排后面;

  • b:然后在同属CN的这些多行数据中,再根据alexa值的大小排列。

  • c:ORDER BY 排列时,不写明ASC DESC的时候,默认是ASC。

  • 注意desc 或者 asc只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序。比如:

  • 4.INSERT INTO:
 INSERT INTO 语法结构:
 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可,此时需要列出插入行的每一列数据:
 INSERT INTO table_name VALUES (value1,value2,value3,...);
 第二种形式需要指定列名及被插入的值:
 INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
复制代码
  • 5.UPDATE:
UPDATE 语法结构:
UPDATE table_name 
SET column1=value1,column2=value2,... 
WHERE some_column=some_value;
复制代码
  • 注意要与WHERE搭配使用,如果省略了 WHERE 子句,所有的记录都将被更新

  • 6.DELETE:

DELETE 语法结构:
DELETE FROM table_name
WHERE some_column=some_value;
复制代码
  • 注意要与WHERE搭配使用,如果省略了 WHERE 子句,所有的记录都将被删除
  • 区别:
  • delete:删除表的内容,表的结构还存在,不释放空间,可以回滚恢复;
  • drop:删除表内容和结构,释放空间,没有备份表之前要慎用;
  • truncate:删除表的内容,表的结构存在,可以释放空间,没有备份表之前要慎用;

转载于:https://juejin.im/post/5c950b2ef265da60fe7c2d75

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值