Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
<script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
邊框可以是圖片img,也可以是div元素,也可以是table,也可以是span
一、邊框樣式的三要素:
1、邊框的寬度 border-width
2、邊框的外觀 border-style
3、邊框的顏色 border-color
二、邊框?qū)傩?/p>
語(yǔ)法:
border-width:像素值;
border-style: 屬性值;none 無(wú)樣式、dashed虛線(xiàn)、solid實(shí)線(xiàn)
border-color:關(guān)鍵字或者RGB值。
舉例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>12CSS</title>
<style type="text/css">
div
{
width=100px;
height=50px;
}
#div1
{
border-width: 2;
border-style: solid;
border-color:red;
}
</style>
</head>
<body>
<div id=div1>你好,嘻嘻</div>
<div>你好,嘻嘻</div>
</body>
</html>
邊框三個(gè)屬性簡(jiǎn)寫(xiě)
語(yǔ)法:
border:1px solid red;
等價(jià)于
border-width:1px;
border-style: solid;
border-color:red;
舉例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>12CSS</title>
<style type="text/css">
div
{
border: 1px solid red;
}
</style>
</head>
<body>
<div>你好,嘻嘻</div>
</body>
</html>
三、局部樣式
一個(gè)框有四個(gè)邊,如果想單獨(dú)設(shè)置一個(gè)邊就需要單獨(dú)設(shè)定
1、上邊框border-top
border-top-width: 1px;
border-top-style: solid;
border-top-color: red;
簡(jiǎn)寫(xiě)為:
border-top: 1px solid red;
2、下邊框border-bottom
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: red;
簡(jiǎn)寫(xiě)為:
border-bottom: 1px solid red;
3、左邊框border-left
border-left-width: 1px;
border-left-style: solid;
border-left-color: red;
簡(jiǎn)寫(xiě)為:
border-left: 1px solid red;
4、右邊框border-right
border-right-width: 1px;
border-right-style: solid;
border-right-color: red;
簡(jiǎn)寫(xiě)為
border-right: 1px solid red;
整體舉例
戰(zhàn)wxPython系列-039
wxPythontigo提供了一些高級(jí)控件。例如,樹(shù)形控件、HTML窗口、網(wǎng)格控件、列表控件、或具有高級(jí)樣式功能的編輯器等。
一、wx.ListBox列表框
wx.ListBox列表框控件從一個(gè)字符串列表中選擇一個(gè)或者多個(gè)字符串。所選字符串顯示在一個(gè)可以滾動(dòng)的列表框中,所選中的字符串將特別標(biāo)記。列表框可以是單選 (如果選擇了其中的一個(gè)項(xiàng),則清除先前的選擇項(xiàng))或者多重選擇(選擇一個(gè)項(xiàng)的時(shí),不影響對(duì)其他項(xiàng)的選擇)。
列表框元素從0開(kāi)始編號(hào),雖然元素的最大數(shù)量是無(wú)限的,但通常最好使用虛擬控件,不需要一次性將所有項(xiàng)添加到其中。由于這個(gè)控件沒(méi)有做優(yōu)化,比如在wx.dataview.DataViewCtrl或者使用LC_VIRTUAL樣式的wx.ListCtrl時(shí),需要加載超過(guò)上百的項(xiàng)時(shí),性能會(huì)有所影響。
注意,列表框不支持除制表符以外的控制字符。
wx.ListBox支持的窗口樣式:
注意:LB_SINGLE, LB_MULTIPLE和LB_EXTENDED樣式是互斥的,最多可以指定其中一個(gè)樣式(單選是默認(rèn)設(shè)置)。
wx.ListBox發(fā)出的事件:
wx.ListBox常用方法:
圖1:wx.ListBox類(lèi)繼承關(guān)系
二、wx.ListBox演示
#列表框(wx.ListBox)
import wx
class SampleListBox(wx.Frame):
def __init__(self, *args, **kw):
super(SampleListBox, self).__init__(*args, **kw)
self.InitUi()
def InitUi(self):
#設(shè)置標(biāo)題
self.SetTitle("實(shí)戰(zhàn)wxPython: ListBox演示")
#設(shè)置窗口尺寸
self.SetSize(400, 240)
panel = wx.Panel(self)
#水平布局
hbox = wx.BoxSizer(wx.HORIZONTAL)
# 添加一個(gè)列表框
self.listbox = wx.ListBox(panel)
hbox.Add(self.listbox, wx.ID_ANY, wx.EXPAND | wx.ALL, 20)
# 按鈕面板
btnPanel = wx.Panel(panel)
vbox = wx.BoxSizer(wx.VERTICAL)
newButon = wx.Button(btnPanel, wx.ID_ANY, "新建", size = (90, 30))
renButton = wx.Button(btnPanel, wx.ID_ANY, "重命名", size = (90, 30))
delButton = wx.Button(btnPanel, wx.ID_ANY, "刪除", size = (90, 30))
clrButton = wx.Button(btnPanel, wx.ID_ANY, "清理", size = (90, 30))
newButon.Bind(wx.EVT_BUTTON, self.NewItem)
renButton.Bind(wx.EVT_BUTTON, self.OnRename)
delButton.Bind(wx.EVT_BUTTON, self.OnDelete)
clrButton.Bind(wx.EVT_BUTTON, self.OnClear)
self.Bind(wx.EVT_LISTBOX_DCLICK, self.OnRename)
vbox.Add((-1, 20)) #距離頂端20像素
vbox.Add(newButon)
vbox.Add(renButton, 0, wx.TOP, 5)
vbox.Add(delButton, 0, wx.TOP, 5)
vbox.Add(clrButton, 0, wx.TOP, 5)
btnPanel.SetSizer(vbox)
hbox.Add(btnPanel, 0.6, wx.EXPAND | wx.RIGHT, 20)
panel.SetSizer(hbox)
self.Centre()
def NewItem(self, e):
text = wx.GetTextFromUser("輸入一個(gè)新項(xiàng)", "插入對(duì)話(huà)框")
if text != "":
self.listbox.Append(text)
def OnRename(self, e):
sel = self.listbox.GetSelection()
text = self.listbox.GetString(sel)
renamed = wx.GetTextFromUser("項(xiàng)重命名", "重命名對(duì)話(huà)框", text)
if renamed != "":
self.listbox.Delete(sel)
item_id = self.listbox.Insert(renamed, sel)
self.listbox.SetSelection(item_id)
def OnDelete(self, e):
sel = self.listbox.GetSelection()
if sel != -1:
self.listbox.Delete(sel)
def OnClear(self, e):
self.listbox.Clear()
def main():
app = wx.App()
sample = SampleListBox(None)
sample.Show()
app.MainLoop()
if __name__ == "__main__":
main()
這個(gè)例子展示了如何從wx.ListBox中添加、修改和刪除項(xiàng)。
self.listbox = wx.ListBox(panel)
hbox.Add(self.listbox, wx.ID_ANY, wx.EXPAND | wx.ALL, 20)
創(chuàng)建一個(gè)空的wx.ListBox。設(shè)置列表框邊框距離20px。
self.Bind(wx.EVT_LISTBOX_DCLICK, self.OnRename)
綁定wx. EVT_LISTBOX_DCLICK事件到方法OnRename(),這樣,如果雙擊列表框中的特定元素,就會(huì)顯示重命名對(duì)話(huà)框。
def NewItem(self, e):
text = wx.GetTextFromUser("輸入一個(gè)新項(xiàng)", "插入對(duì)話(huà)框")
if text != "":
self.listbox.Append(text)
通過(guò)單擊新建按鈕調(diào)用NewItem()方法。在NuwItem方法中,使用包裝器wx.GetTextFromUser()方法顯示一個(gè)wx.TextEntryDialog。將對(duì)話(huà)框中輸入的文本返回給文本變量。如果文本不是空的,我們用append()方法將它添加到列表框中。
if renamed != "":
self.listbox.Delete(sel)
item_id = self.listbox.Insert(renamed, sel)
self.listbox.SetSelection(item_id)
通過(guò)刪除項(xiàng)并在同一位置插入新項(xiàng)來(lái)重命名項(xiàng)。將選擇設(shè)置回已修改的項(xiàng)。
def OnDelete(self, e):
sel = self.listbox.GetSelection()
if sel != -1:
self.listbox.Delete(sel)
要?jiǎng)h除一個(gè)項(xiàng),通過(guò)調(diào)用GetSelection()方法找到所選項(xiàng)的索引。然后使用delete()方法刪除該項(xiàng)。
def OnClear(self, e):
self.listbox.Clear()
調(diào)用Clear()方法清除整個(gè)列表框。
圖2:wx.ListBox演示
三、wx.CheckListBox復(fù)選列表框
wx.CheckListBox是wx.ListBox的派生類(lèi),繼承了它的功能,它在每個(gè)選項(xiàng)上額外顯示一個(gè)復(fù)選框。
wx.CheckListBox發(fā)出的事件:
wx.CkeckListBox常用方法:
圖3:wx.CheckListBox類(lèi)繼承關(guān)系
將節(jié)二中的演示代碼:
self.listbox = wx.ListBox(panel)
修改成
self.listbox = wx.CheckListBox(panel)
運(yùn)行,就可以演示使用wx.CheckListBox,效果如圖4:
圖4:wx.CheckListBox演示
四、本文知識(shí)點(diǎn)
前一篇:wxPython - 狀態(tài)欄StatusBar
歡迎關(guān)注,評(píng)論,收藏,點(diǎn)贊,和轉(zhuǎn)發(fā)。
景樣式
1.背景屬性縮寫(xiě)
Background: 背景色 背景圖片 背景平鋪方式 背景定位
例:body {
background-color:# EDEDED;
background-image:url(images/bg.png);
background-repeat:no-repeat;
background-position:50% 30px;
}
縮寫(xiě)后:
body { background:#EDEDED url(images/bg.png) no-repeat 50% 30px;}
尺寸樣式
1.寬度
width : auto | length
例:
p { width:300px;} div { width:50%;}
2.高度
height : auto | length
例:
img { height:200px;}
div { height:100px;}
邊框樣式
1.邊框線(xiàn)
border-style : none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset
例:div { width:300px; height:100px; border-style:solid; }
border-top-style 設(shè)置上邊框線(xiàn)
border-bottom-style 設(shè)置下邊框線(xiàn)
border-left-style 設(shè)置左邊框線(xiàn)
border-right-style 設(shè)置右邊框線(xiàn)
2.邊框?qū)挾?/p>
border-width : medium | thin | thick | length
例:
div { width:300px; height:100px; border-style:solid; border-width:1px; }
border-top-width 設(shè)置上邊框?qū)挾?/p>
border-bottom-width 設(shè)置下邊框?qū)挾?/p>
border-left-width 設(shè)置左邊框?qū)挾?/p>
border-right-width 設(shè)置右邊框?qū)挾?/p>
3.邊框顏色
border-color : color
例:div {
width:300px;
height:100px;
border-style:solid;
border-width:1px;
border-color:#FF0000;
}
border-top-color 設(shè)置上邊框顏色
border-bottom-color 設(shè)置下邊框顏色
border-left-color 設(shè)置左邊框顏色
border-right-color 設(shè)置右邊框顏色
4.邊框樣式縮寫(xiě)
border : border-width || border-style || border-color
例:div {
width:300px;
height:100px;
border-style:solid;
border-width:1px;
border-color:#FF0000;
}
縮寫(xiě)后:div {
width:300px;
height:100px;
border:1px solid #FF0000;
}
外邊距
margin : auto | length
例:div { width:300px; height:100px; margin:10px;}
div { width:300px; height:100px; margin:0 auto;}
margin-top 設(shè)置上邊的外邊距
margin-bottom 設(shè)置下邊的外邊距
margin-left設(shè)置左邊的外邊距
margin-right設(shè)置右邊的外邊距
縮寫(xiě)型式:
margin: 上邊距 右邊距 下邊距 左邊距
margin: 上下邊距左右邊距
margin: 上邊距 左右邊距 下邊距
內(nèi)邊距
padding : length
例:
div { width:300px; height:100px; padding:10px;}
padding-top 設(shè)置上邊的內(nèi)邊距
padding-bottom 設(shè)置下邊的內(nèi)邊距
padding-left設(shè)置左邊的內(nèi)邊距
padding-right設(shè)置右邊的內(nèi)邊距
縮寫(xiě)型式:
padding: 上邊距 右邊距 下邊距 左邊距
padding : 上下邊距左右邊距
padding : 上邊距 左右邊距 下邊距
列表樣式
1.項(xiàng)目符號(hào)
list-style-type : disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none | armenian | cjk-ideographic | georgian | lower-greek | hebrew | hiragana | hiragana-iroha |
katakana | katakana-iroha | lower-latin | upper-latin
例:
ul { list-style-type:disc;}/*實(shí)心圓*/
ul { list-style-type:circle;}/*空心圓*/
ul { list-style-type:square;}/*實(shí)心方塊*/
ul { list-style-type:none;}/*不顯示項(xiàng)目符號(hào)*/
ol { list-style-type:decimal;}/*阿拉伯?dāng)?shù)字*/
ol { list-style-type:lower-roman;}/*小寫(xiě)羅馬數(shù)字*/
ol { list-style-type:upper-alpha;}/*大寫(xiě)英文字母*/
2.自定義項(xiàng)目符號(hào)
list-style-image : none | url ( url )
例:
ul {list-style-image:url(images/arrow.gif)}
鏈接樣式
1.鏈接沒(méi)有被訪問(wèn)時(shí)的樣式
a:link
例: a:link { color:#ff0000; }
2.鏈接被訪問(wèn)后的樣式
a:visited
例: a:link { color:#0000ff; text-decoration:none; }
3.鼠標(biāo)懸停在鏈接上的樣式
a:hover
例: a:link { background-color:#ccc; }
4.鼠標(biāo)點(diǎn)擊鏈接時(shí)的樣式
a:active
例:a:active { background-color:#ff0000;}
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。