午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Python tkinter 樹形列表控件(Treeview)的使用方法

Python tkinter 樹形列表控件(Treeview)的使用方法

熱門標簽:廣東旅游地圖標注 電話外呼系統招商代理 淮安呼叫中心外呼系統如何 打印谷歌地圖標注 電話機器人貸款詐騙 佛山通用400電話申請 看懂地圖標注方法 蘇州人工外呼系統軟件 京華圖書館地圖標注

1.方法

方法 描述
bbox(item, column=None) 返回指定item的框選范圍,或者單元格的框選范圍
column( cid, option=None, **kw) 設置或者查詢某一列的屬性
delete(*items) 刪除指定行或者節點(含子節點)
vdetach(*items) 與delete類似,不過不是真正刪除,而是隱藏了相關內容。可以用move方法重新顯示v
exists(item) 判斷指定的item是否存在
focus(item=None) 獲得選定item的iid,或者選中指定item。
get_children(item=None) 返回指定item的子節點
heading(column, option=None, **kw) 設置或者查詢表頭行的配置參數
identify(component, x, y) 返回在坐標(x,y)處的部件信息。部件包括:region(heading,cell等), item, column, row, 和 element。
identify_element(x, y) 返回在(x,y)處的元素。
identify_region(x, y) 返回坐標(x,y)處的Tree view組成部分
identify_row(y) 給定y坐標,返回指定item索引
index(item) 返回數字化的item索引,從0開始
set_children(item, *newchildren) 設置item的新子節點為newchildren,現有的子節點會被移除。一般用于樹形結構中。
insert(parent, index, iid=None, **kw) 插入一個新的item
item(item, option=None, **kw) 返回item節點的相關信息
move(item, parent, index) move()方法有兩種作用:
(1)將detach的item重新顯示(reattach)
(2)移動item指定的節點到parent的子節點中,位置由index指定
next(item) 返回item的下一個節點
parent(item) 返回item的父節點
prev(item) 返回item的前一個節點
see(item) 保證item指定的節點在Treeview控件中可見
selection(items=None) 返回當前選定的節點的iid
selection_set(*items) 選中items指定的節點
selection_remove(*items) 從當前選擇中移除items指定的節點
selection_add(*items) 將items指定的節點添加到當前的選擇中
selection_toggle(*items) 選中的節點變為不選中,未選中的節點變為選中
set(item, column=None, value=None) 設置或者獲得節點信息
tag_bind( tagname, sequence=None, callback=None) 給tagname指定的tag綁定事件以及回調函數
tag_configure( tagname, option=None, **kw) 配置或者獲得tag的有關信息
tag_has(tagname, item=None) 判斷tag是否存在或者是tag與那些節點關聯

1.1 bbox(item, column=None)

獲取指定item的框選范圍。如果指定的item可見,返回值是一個四元組(x,y,w,h)。(x,y)是矩形框選的左上角坐標,(w,h)是矩形的寬度與高度。有這個四元組設定的矩形正好可以框選指定的item。如果column不為空,返回的是指定單元格的框選范圍。

坐標值是以Treeview控件為基準的,而不是以窗口或者屏幕。

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=7,padding=(10,5,20,30))
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def select(*args):
    print(tv.bbox(tv.selection()))
    print(tv.bbox(tv.selection(),column='c'))   
tv.bind('TreeviewSelect>>',select)
root.mainloop()

 結果:
(11, 50, 280, 20)
(151, 50, 70, 20)

說明:輸出的結果有2個,一個是選中行的框選范圍,一個是選中行的第三個單元格的框選范圍。

1.2 column( cid, option=None, **kw)

查詢或者修改指定列的配置。cid可以是整數,也可以列的別名。如果不輸入option,則返回目前的配置選項字典。
Treeview列的選項有:

選項 含義
anchor 對齊模式。取值有n,e,s,w,ne,nw,se,sw和center。
id 列的名稱或者標識
minwidth 列的最小寬度,調整列寬的時候,不會小于這個數值。默認值是20
stretch 是否隨著窗口大小的調整而拉伸Treeview。默認值是True
width 定義列寬。默認值是200

查詢代碼:

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=7,padding=(10,5,20,30))
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])   
print(tv.column(3))
root.mainloop()

結果:
{'width': 70, 'minwidth': 20, 'stretch': 1, 'anchor': 'e', 'id': 'e'}

設置代碼:

import tkinter as tk
from tkinter import ttk 
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def column():
    tv.column(2,width=50)
ttk.Button(root,text='Column',command=column).pack()
root.mainloop()

結果:

說明:點擊'Column'按鈕后,語文成績那一列的寬度由70變為50。

1.3 delete(items)

刪除指定的item。子節點也會被一起刪除,但是第一層節點不會被刪除。

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def delete():
    tv.delete(tv.selection())
ttk.Button(root,text='Delete',command=delete).pack()
root.mainloop()

結果:

1.4 detach(items)

detach的方法與delete類似,不過detach不是真正的刪除了指定的item,而是隱藏了內容,可以使用move的方法重新將隱藏的數據再顯示出來。

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
detach=None
index=None
def detach():
    global detach
    global index
    detach=tv.selection()
    index=tv.index(detach)
    tv.detach(detach)
def attach():
    global detach
    global index
    if detach:
        tv.move(detach,'',index)
ttk.Button(root,text='Detach',command=detach).pack()
ttk.Button(root,text='Attach',command=attach).pack()
root.mainloop()

說明:先選中一行,然后點擊'Detach'按鈕,此時會將選中的行隱藏。但是相關的id和index會依舊被記錄。再點擊'Attach'按鈕,使用move()方法就會重新顯示隱藏的數據。

1.5 exists(item)

判斷指定的item是否存在。需要注意的是,使用detach()方法隱藏的item會被認為是存在的,因為相應的id等信息是依然被系統記錄沒有清空的。返回值為True,如果指定的item不存在,否則返回False。

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
print(tv.exists('I002'))
root.mainloop()

結果:
結果為True

1.6 focus(item=None)

focus()方法有三種情況:
(1)有item被選中同時參數為None
返回當前被選中的item的標識iid
(2)無item被選中同時參數為None
返回空字符串''
(3)輸入item參數
指定的item會獲得focus。
注意:獲得focus不表示被選中。

#有item被選中同時參數為None,返回iid
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def focus():
    print(tv.focus())
ttk.Button(root,text='Focus',command=focus).pack()

root.mainloop()

結果:

結果為:I003

#無item被選中同時參數為None
#item參數不為空
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def focus():
    tv.focus('I002')
    print(tv.focus())
ttk.Button(root,text='Focus',command=focus).pack()
root.mainloop()

注:使用focus()方法,并不會讓獲得focus的item被高亮顯示。如果要高亮顯示,請使用selection_set()方法。

1.7 get_children(item=None)

返回指定item的子節點。如果該item沒有子節點返回None。如果沒有指定節點,默認返回root節點的子節點。

1.8 heading(column, option=None, **kw)

設置或者查詢表頭行的配置參數。如果是表格形式的,column是列的位置(就是第幾列,從0計數)或者列的別名。如果是樹形結構的(比如文件目錄),column的值為'#0'。
如果沒有option參數,返回的是當前的配置數據。
heading的選項有:

選項 含義
anchor 對齊模式。取值有n,e,s,w,ne,nw,se,sw和center。
command 與指定列相關的回調函數
image 在表頭顯示圖片
text 在表頭顯示文本
state 當前列的狀態

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def heading():
    print(tv.heading(column=1))
ttk.Button(root,text='Heading',command=heading).pack()
root.mainloop()

結果:
{'text': '數學', 'image': '', 'anchor': 'center', 'command': '', 'state': ''}

1.9 identify(component, x, y)

返回在坐標(x,y)處的部件信息。部件包括:region(heading,cell等), item, column, row, 和 element。

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def identify():
    print(tv.identify('region',120,30))
ttk.Button(root,text='Identify',command=identify).pack()
root.mainloop()

結果:
cell

1.10 identify_column(x)

給定x坐標,返回所屬的列號。返回值的格式是'#n'。n是從1開始計數的列號。注意返回的是實際的顯示列號,而不是邏輯定義的列號。如果使用了displaycolumns就可以實際顯示的列號與columns定義的列號是不一致的情況。具體的用法與identify類似,可以參考。

1.11 identify_element(x, y)

返回在(x,y)處的元素。使用方法是: tv.identify_element(140,25)

1.12 identify_region(x, y)

返回坐標(x,y)處的Tree view組成部分。Treeview 的組成部分有:

組成部分 含義
nothing 不在Treeview控件內
heading 位于表頭的位置
separator 在分隔線上
tree 位于圖標列(樹形列表表示展開/折疊的圖標)
cell 位于單元格內

使用方法是:

tv.identify_region(140,25)

1.13 identify_row(y)

給定y坐標,返回指定item索引(如‘I002')。如果沒有內容,返回空字符串。
使用方法:

tv.index(‘I002')

1.14 index(item)

返回數字化的item索引,計數從0開始。使用方法:

tv.index(‘I002')

1.15 set_children(item, newchildren)

設置item的新子節點為newchildren,現有的子節點會被移除。一般用于樹形結構中。

tv.set_children('I003','I00E')

說明:將I00E作為新的I003的子節點。

1.16 insert(parent, index, iid=None, **kw)

插入一個新的item。
(1)parent
對于表格類型的Treeview,parent一般為空。對于樹形類型的Treeview,parent為父節點。
(2)index
指明在何處插入新的item。可以是'end',也可以是數字。比如,如果要讓新插入的item成為第一個子節點或者在第一行,index就設為0。如果是第二個子節點或者第二行,就是設置index=1。如果在最末端插入item,就設置index='end'
(3)iid
如果沒有賦值,就使用系統自動生成的id。如果輸入了id,必須保證與現有的id不重復。否則系統會自動生成id。
(4)**kw
設置插入item的屬性。支持的屬性有:

選項 含義
image 顯示圖像
open 針對樹形結構,確認插入的item是打開還是折疊狀態。True打開,False為折疊。
tags 為新插入的item設置tag標簽
text 顯示文字
values 在表格結構中,要顯示的數值。這些數值是按照邏輯結構賦值的,也就是按照columns設定的列次序來賦值。如果輸入的個數少于columns指定列數,則插入空白字符串

在前面章節的例子中已經使用了insert,可以參考。

1.17 item(item, option=None, **kw)

item()方法有3種功能:
(1)只有item參數
返回item有關數據字典。數據字典的鍵值(key)包括:
text,image,open,tags以及values。values就是item參數指定的節點的內容。

tv.item('I002')

結果:
{'text': '', 'image': '', 'values': ['李四', 100, 92, 90], 'open': 0, 'tags': ''}

(2)輸入item和option參數
返回item指定節點中由option指定的選項值。比如:

tv.item('I002',option='values')

就是返回節點的內容。見前一節有關返回數據字典的鍵值。

(3)item和kw
使用
kw中的鍵值對(就是選項值)修改item指定的節點的相關選項。最常用的是使用values來修改節點的內容。
比如:

tv.item('I002',values=('李峰','90','88','66'))

結果:

可以看到第二行的數據被修改了。

1.18 move(item, parent, index)

move()方法有兩種作用:
(1)將detach的item重新顯示(reattach)
(2)移動item指定的節點到parent的子節點中,位置由index指定
需要注意的是,不能把父節點移動到子節點下面。因為這是無法實現的。還有就是index的值如果是0或者負數,則表示item的位置在parent的第一個子節點。如果index的值大于或者等于子節點的總數,則表示把item放置在子節點的最后一個。

1.19 next(item)

(1)如果item不是當前父節點的最后一個子節點,則返回下一個子節點
(2)如果item已經是最后一個子節點,返回空字符串
(3)如果是表格類型的Treeview,則返回下一item對象。或者返回空字符串如果item已經是最后一個item對象。

1.20 parent(item)

樹形結構的Treeview,該方法返回父節點的ID;如果是表格類型的Treeview,則返回空字符串。

1.21 prev(item)

與next()類似,不過是返回前一個item的ID。

1.22 see(item)

保證item指定的節點在Treeview控件中可見。針對有比較多節點的情況下,此方法可以讓希望顯示的節點快速顯示在窗口中而不需要用滾動條的去滾動。

1.23 selection(items=None)

返回當前選定的節點的iid。

1.24 selection_set(items)

選中item指定的節點。items可以是單個節點的ID,或者多個節點ID的元組。

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i])
def selection():
    tv.selection_set('I001','I002')
ttk.Button(root,text='Selection',command=selection).pack()
root.mainloop()

結果:

1.25 selection_remove(items)

與selection_set()相反,selection_remove()是把items指定的節點從選擇中移除。

1.26 selection_add(items)

將items指定所有節點加入到選中的集合中。那么selection_add()與selection_set()的區別是什么?selection_set相當于重置選擇的節點,不管以前是如何選擇的,執行selection_set后,只有selection_set中輸入的items節點會被選中。而selection_add()對當前的選選擇沒有影響,只是把items指定的節點添加到選擇的集合中。

1.27 selection_toggle(items)

該方法的作用相當于數字電路中的非門,就是已經選中的節點變為為選中,沒有選中的節點變為選中。

1.28 set(item, column=None, value=None)

(1)只有item
返回指定節點(行)的數據字典。字典的鍵值是columns屬性定義的列的別名,而對應的數值就是節點(行)的內容。此種用法相當于獲取指定節點的行內容與列別名信息。

(2)只有item和column
返回由item和column指定的單元格的內容。column的取值是別名。

tv.set('I002',column='all')

(3)item,column和value
如果三個參數都有值,那么會修改由item和column指定的單元格的內容。

tv.set('I002',column='all',value='abc')

1.29 tag_bind( tagname, sequence=None, callback=None)

將tagname指定的tag與sequence指定事件綁定,回調函數由callback設定。需要注意的是,一個tag可能與多個節點相關。也就是說,可能會有多個item與事件綁定。

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry('320x240')
tk.Label(root,text='成績表').pack()
area=('#','數學','語文','英語')
ac=('all','m','c','e')
data=[('張三','90','88','95'),
      ('李四','100','92', '90'),
      ('王二','88','90', '91')
      ]
tv=ttk.Treeview(root,columns=ac,show='headings',
                height=5)
for i in range(4):
    tv.column(ac[i],width=70,anchor='e')
    tv.heading(ac[i],text=area[i])
tv.pack()
for i in range(3):
    tv.insert('','end',values=data[i],tags=str(i))
def tb(*args):
    print(*args)
def bind():
    tv.tag_bind('1',sequence='Button-1>',
                callback=tb)
ttk.Button(root,text='Bind',command=bind).pack()
root.mainloop()

結果:
ButtonPress event state=Mod1 num=1 x=131 y=61>

說明:給插入的數據每一行都設定一個tag,比如第一行的tag是'0',等等。然后通過tag_bind()方法綁定鼠標左鍵事件。

1.30 tag_configure( tagname, option=None, **kw)

與item()方法有些類似,也是有三種功能:
(1)只有tagname
返回tagname指定tag的選項/屬性數據字典。比如tv.tag_configure(‘2')的返回值為:
{‘text': ‘', ‘image': ‘', ‘anchor': ‘', ‘background': ‘', ‘foreground': ‘', ‘font': ‘'}

(2)tagname和option
返回tagname指定的tag中option指定的屬性值。比如option='anchor',則返回anchor屬性值。

(3)tagname和kw
對tagname指定的tag,使用kw中的參數設置有關屬性。屬性值見(1)中的說明。

1.31 tag_has(tagname, item=None)

(1)只有tagname
返回所有與tagname指定的tag有關的子節點。

(2)tagname和item
如果item指定的子節點的有tagname指定的tag,則返回True,否則返回False。判斷tag是否存在。

到此這篇關于Python tkinter 樹形列表控件(Treeview)的使用方法的文章就介紹到這了,更多相關Python tkinter 樹形列表內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python3使用tkinter實現ui界面簡單實例
  • Python tkinter模塊彈出窗口及傳值回到主窗口操作詳解
  • Python升級提示Tkinter模塊找不到的解決方法
  • Python Tkinter簡單布局實例教程
  • Python 窗體(tkinter)下拉列表框(Combobox)實例
  • 對Python 窗體(tkinter)樹狀數據(Treeview)詳解
  • Python tkinter label 更新方法
  • python 實現在tkinter中動態顯示label圖片的方法
  • Python tkinter的grid布局及Text動態顯示方法
  • Python中使用Tkinter模塊創建GUI程序實例

標簽:衡水 駐馬店 畢節 股票 中山 江蘇 湖州 呼和浩特

巨人網絡通訊聲明:本文標題《Python tkinter 樹形列表控件(Treeview)的使用方法》,本文關鍵詞  Python,tkinter,樹形,列表,控件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python tkinter 樹形列表控件(Treeview)的使用方法》相關的同類信息!
  • 本頁收集關于Python tkinter 樹形列表控件(Treeview)的使用方法的相關信息資訊供網民參考!
  • 推薦文章
    一区二区成人在线视频| 成人亚洲精品久久久久软件| 日韩精品在线免费观看| heyzo亚洲| 丰满人妻av一区二区三区| 亚洲аv电影天堂网| 欧美成人一区二区在线观看| 欧美高清视频不卡网| 亚洲精品一二三区| 天天操天天干天天综合网| 色哟哟精品一区| 日韩欧美视频在线| 在线视频一区二区| 久久久久久久久亚洲| 国产精品入口尤物| 精品一区二区三区免费毛片| 正义之心1992免费观看全集完整版| 女人被男人躁得好爽免费视频| 动漫av免费观看| 稀缺小u女呦精品呦| 国产精品www爽爽爽| 日本系列第一页| 国产精品无码AV| 免费成人在线视频观看| 95精品视频在线| 一区二区三区日韩欧美| 欧美日韩亚洲综合在线| 亚洲老头同性xxxxx| 欧美精品亚州精品| 国产日韩换脸av一区在线观看| 久久精品magnetxturnbtih| 国产成人精品免费看在线播放 | 欧美日精品一区视频| 激情深爱综合网| 国产麻豆精品95视频| 国产精品网址在线| 国产寡妇亲子伦一区二区三区四区| 亚洲国产美女精品久久久久∴| 激情综合网最新| 粉嫩在线一区二区三区视频| 国产精品女上位| 偷拍日韩校园综合在线| 精品免费国产一区二区三区四区| 久久这里只有精品99| 国产精品一区久久久| 午夜精品美女久久久久av福利| 97xxxxx| 亚洲精品乱码久久久久久久| 国产欧美日韩另类| 四虎精品一区二区三区| 97精品国产97久久久久久久久久久久| 亚洲国产美女搞黄色| 精品欧美一区二区三区精品久久| 欧美美最猛性xxxxxx| 91精品国产91久久久久青草| 欧美另类videosbestsex日本| 911av视频| 动漫性做爰视频| 草逼视频免费看| 99久久99久久精品免费看蜜桃| 精品国产91久久久久久| 亚洲精品综合久久中文字幕| 日韩av高清不卡| 日本一区二区三区免费看| 亚洲成人av免费看| 永久免费看片直接| 国内精品久久久久久久久久| 不卡的av中国片| 色综合天天综合网国产成人综合天| 亚洲欧美成人精品| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 人妻视频一区二区三区| 久久这里都是精品| 欧美日韩在线播| 欧美成人剧情片在线观看| av一区二区三区免费| 亚洲不卡中文字幕无码| 国产aⅴ激情无码久久久无码| 国产精品久久久久久久久夜色| 激情综合亚洲精品| 污片在线观看一区二区| 亚洲最大在线视频| 91香蕉嫩草影院入口| 色欲色香天天天综合网www| 丰腴饱满的极品熟妇| 国产有码在线观看| 91一区二区在线观看| 欧美日韩你懂得| 久久免费视频观看| 亚洲激情啪啪| 国模无码视频一区| 国产精品午夜一区二区| 成人晚上爱看视频| 欧美午夜寂寞影院| 久久久久久国产精品| 视频在线一区二区三区| 精品久久久久久无码人妻| 亚洲 欧美 中文字幕| 高清不卡一区二区在线| 欧美自拍偷拍一区| 日韩电影中文字幕在线观看| 久久国产视频精品| 999热视频在线观看| 国产成a人亚洲精品| 欧美在线一区二区三区四区| 97se亚洲国产综合自在线| 欧美国产日韩激情| 91国产视频在线观看| 免费成人你懂的| 国产凹凸在线观看一区二区| 欧洲av一区二区嗯嗯嗯啊| 午夜精品一区二区三区在线视| 亚洲日本一区二区三区在线不卡 | 国产性生活网站| 精品制服美女久久| 色欧美片视频在线观看在线视频| 九九九热精品免费视频观看网站| 相泽南亚洲一区二区在线播放 | 国产色片在线观看| 国产精品情趣视频| 精品中文视频在线| 国产乱码精品一区二区三区卡| 日韩av.com| 久久久久亚洲视频| 国产日韩精品一区二区三区在线| 亚洲电影成人av99爱色| 91精品黄色| 亚洲第一天堂久久| 中文字幕视频二区| 国产精品久久久久久亚洲毛片 | 欧美mv日韩mv亚洲| 成人信息集中地欧美| www.日本xxxx| 男人天堂2024| 国产偷v国产偷v亚洲高清| 日韩av在线免播放器| 国产精品免费视频一区二区| 国产探花一区二区三区| 国产欧美日韩成人| 亚洲精品成人悠悠色影视| 啊v视频在线一区二区三区| 日韩av在线电影观看| 中国毛片在线观看| 日韩不卡一区二区| 欧美中文字幕亚洲一区二区va在线| 久久乐国产精品| 国产精品网站免费| 日本午夜视频在线观看| 久久久国产精品麻豆| 亚洲欧洲中文天堂| 相泽南亚洲一区二区在线播放| 免费一级黄色录像| 精品无码三级在线观看视频| 制服丝袜日韩国产| av在线不卡一区| 韩国一区二区三区四区| 国产自产一区二区| 色又黄又爽网站www久久| 国产成人91久久精品| 国产精品拍拍拍| 92久久精品一区二区| 一区二区三区蜜桃| 97国产精品久久| 四虎永久在线精品无码视频| 国产美女www| 亚洲人123区| 欧美精品video| 国产真实老熟女无套内射| 日韩欧美三级视频| 亚洲国产精品av| 久久天天躁夜夜躁狠狠躁2022| 日本黄网站色大片免费观看| 在线免费观看毛片| 国产清纯白嫩初高生在线观看91 | 日韩av在线最新| 欧美日本亚洲| 黑鬼狂亚洲人videos| 99久久精品国产麻豆演员表| 曰本色欧美视频在线| 亚洲成人动漫在线| wwwwww国产| 亚洲视频一区在线观看| 91av在线影院| 中文字幕精品一区二区三区在线| 好吊视频一二三区| 欧美日韩在线播| 狠狠色噜噜狠狠色综合久| 91成人在线免费视频| 国产高清不卡一区二区| 亚洲欧美色婷婷| 色哺乳xxxxhd奶水米仓惠香| 天天综合天天干| 亚洲情趣在线观看| 国产91在线播放| 亚洲午夜精品在线观看| 日本高清视频www| 欧美精品三级日韩久久| 精品伦理一区二区三区| 中国一级片在线观看| 久久久久国产精品人| 精品视频9999| 超碰在线97免费| 婷婷丁香一区二区三区| 91麻豆精品国产91久久久久| 欧美激情视频一区二区三区| 欧美黑吊大战白妞| 国产精品久久久久久妇女6080 | 久久久99久久精品欧美| 欧美激情a∨在线视频播放| 国产91色在线观看| 久久九九精品| 亚洲第一免费网站| 8x8x华人在线| 在线观看不卡的av| 91成人在线观看喷潮| 国产伦精品一区二区三区四区视频| 2017亚洲天堂| 国产欧美精品国产国产专区| 欧美亚洲激情视频| 97人妻精品一区二区三区免费 | 成人免费看片网站| 日韩欧美国产成人精品免费| 国产精品久久看| 欧美一级视频一区二区| 久久久久久婷婷| 不卡大黄网站免费看| 美女999久久久精品视频| 538任你躁在线精品免费| 日本va欧美va精品| 亚洲午夜精品视频| 日韩精品视频一区二区在线观看| 中文字幕欧美专区| 国产精品日日摸夜夜摸av| 国产成人精品午夜视频免费| 日韩黄色小视频| 久久经典综合| 国产精品白浆一区二小说| 色婷婷在线影院| 黄色www网站| 久久香蕉视频网站| 97超碰人人看人人| 欧美一区二三区| 亚洲成人精品av| 亚洲免费观看高清完整版在线 | 亚洲va在线观看| 亚洲一区二区色| 六月丁香婷婷久久| 日韩中文字幕不卡| 青青草国产成人99久久| 日本不卡中文字幕| 草逼视频免费看| 香蕉网在线播放| 熟女俱乐部一区二区视频在线| 午夜视频在线免费看| 亚洲AV无码久久精品国产一区| 99久久久免费精品| 精品人妻伦一区二区三区久久| 国产成人在线视频播放| 国产欧美日韩在线视频| 亚洲成人av一区| 日韩精品一区二区三区老鸭窝 | 波多野结衣国产| 91美女免费看| 日本一本在线观看| 高清国产在线观看| 国产又大又粗又爽的毛片| 欧美图片一区二区| 性少妇bbw张开| 四虎免费在线视频| 国产传媒在线看| 国模无码视频一区| 中文字幕第66页| 国产美女精品久久| 免费一级肉体全黄毛片| 亚洲系列在线观看| 少妇一区二区三区四区| 性感美女一级片| 狠狠色2019综合网| 99久久精品免费观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | 国产亚洲制服色| 亚洲国产精品精华液网站| 亚洲成人久久久| 国产精品男女猛烈高潮激情| 日本一道在线观看| 波多野结衣免费观看| 国产性一乱一性一伧一色| 视频污在线观看| 国产午夜精品在线观看| 性久久久久久久久| 日韩电影免费观看中文字幕 | 国产成人av一区二区三区在线| 国产视频一区在线播放| 久久夜色精品一区| 亚洲二区在线观看| 色哟哟精品一区| 欧美一区二区视频免费观看| 亚洲二区中文字幕| 日韩区在线观看| 亚洲高清免费观看高清完整版| 精品爽片免费看久久| 亚洲欧洲日产国产网站| 欧美人与性动交| 国新精品乱码一区二区三区18| 最近免费中文字幕中文高清百度| 性猛交╳xxx乱大交| 亚洲天堂2024| 欧美人妻精品一区二区免费看| 日韩免费观看一区二区| 国产黄频在线观看| 国产精品久久久久久久久久免费看| 欧美一区二区三区人| 精品国产美女在线| 国产精品久久久久一区二区| 91在线视频成人| 4388成人网| 亚洲999一在线观看www| 欧美专区一二三| 69堂免费视频| 国产一二三四五区| 日韩国产精品久久久| 欧美日韩一区二区三区在线免费观看 | 国产精品久久久久久久久晋中 | 日韩欧美xxxx| 一本加勒比波多野结衣| 中文字幕精品视频在线观看| 图片区 小说区 区 亚洲五月| 国产成人综合亚洲网站| 亚洲一级二级三级在线免费观看| 色偷偷成人一区二区三区91| 在线观看三级视频欧美| 在线播放精品一区二区三区| 91精品国产综合久久香蕉的用户体验| 青春草国产视频| 精品欧美一区二区久久久久| 捆绑紧缚一区二区三区视频| bt欧美亚洲午夜电影天堂| 亚洲超丰满肉感bbw| 日韩精品视频在线播放| 国产精品美女久久久免费| 日本不卡免费高清视频| 99爱精品视频| 自拍偷拍 国产| 中国毛片直接看| 亚洲AV无码国产精品午夜字幕| 亚洲日本va在线观看| 亚洲区一区二区| 国产成人三级视频| 日韩女同强女同hd| 久久久91精品国产一区二区精品| 亚洲天堂网站在线观看视频| 国产伦精品一区二区三毛| 中文字幕免费在线播放| 日本视频在线一区| 欧美日韩亚洲国产综合| 国产剧情久久久久久| 欧洲精品一区二区三区久久| 91动漫免费网站| 日韩精品一区第一页| 中文在线最新版天堂| 国产久一一精品| 欧美亚洲免费电影| 神马影院一区二区三区| 亚洲国产精品无码久久久久高潮| 久久精品在线观看视频| 久久久精品视频网站 | 日韩欧美中文字幕在线观看 | 日韩精品一区二区亚洲av性色| 国产精品综合av一区二区国产馆| 国产性做久久久久久| 欧美一区二区精品| 国产日韩精品在线播放| 蜜臀av免费观看| 免费在线观看国产精品| 亚洲无码精品在线观看| 欧美高清在线精品一区| 亚洲色图色老头| 五月天亚洲综合情| 手机看片国产精品| 久久国产精品99久久人人澡| 欧美曰成人黄网| 91亚洲精品一区| 91ts人妖另类精品系列| 国产精品网站在线播放| 国产成人综合亚洲| 亚洲欧美日本一区| 1区2区3区欧美| 久久乐国产精品| 九色91popny| 少妇av在线播放| 精品国内片67194| 日韩福利视频| 国产无码精品视频| 国产伦精一区二区三区| 精品婷婷伊人一区三区三| 国产精品羞羞答答| 国产老熟女伦老熟妇露脸| 国产成人三级在线观看视频| 欧美日韩中文在线| 999视频在线观看| 真实乱偷全部视频| 亚洲欧美日韩成人在线| 在线不卡一区二区| 日韩免费av在线| 四季av一区二区| 日韩欧美不卡视频| 久久久久久久综合日本| 日韩性生活视频| 亚洲色成人www永久在线观看 | 国产午夜免费视频|