EASYGUI

翻譯改編自官方文檔:http://easygui.sourceforge.net/tutorial/index.html



編者:云南大學(xué)開源技術(shù)組(YNUOSA)

1. 建議不要在 IDLE 上運(yùn)行 EasyGui

EasyGui 是運(yùn)行在 Tkinter 上并擁有自身的事件循環(huán)挡篓,而 IDLE 也是 Tkinter 寫的一個(gè)應(yīng)用程序并也擁有自身的事件循環(huán)
因此當(dāng)兩者同時(shí)運(yùn)行的時(shí)候氏仗,有可能會(huì)發(fā)生沖突浑测,且?guī)聿豢深A(yù)測(cè)的結(jié)果。因此如果你發(fā)現(xiàn)你的 EasyGui 程序有這樣的問題

請(qǐng)嘗試在 IDLE 外去運(yùn)行你的程序惠勒。

2. 一個(gè)簡(jiǎn)單的例子在 EasyGui 中

所有的 GUI 互動(dòng)均是通過簡(jiǎn)單的函數(shù)調(diào)用,下邊一個(gè)簡(jiǎn)單的例子告訴你 EasyGui 確實(shí)很 Easy爬坑!

import easygui as g
import sys

while 1:
    g.msgbox('Welcome to the first game!')
    msg = 'What do you want to learn in the OSA?'
    title='OSA'
    choices=['Coding','Dancing','OOXX']
    choice=g.choicebox(msg,title,choices)

    #note that we convert choice to string,in case
    #the user cancelled the choice,and we got None
    g.msgbox('Your choice is:'+str(choice),'Result')
    msg='Do you want to replay the game?'
    title='OSA'
    if g.ccbox(msg,title):  #show a Contiue/Cancel dialog
        pass #user chose Contonue
    else:
        sys.exit(0)  #user chose Cancel

3. EasyGui 的各種功能演示

import easygui as g  
 g.egdemo()

成功調(diào)用后你將可以嘗試 EasyGui 擁有的各種功能纠屋,并將你選擇的結(jié)果打印至控制臺(tái)。

4. 導(dǎo)入 EasyGui

為了使用 EasyGui 這個(gè)模塊盾计,你應(yīng)該先導(dǎo)入它售担。最簡(jiǎn)單的導(dǎo)入語句是:

import easygui

如果你使用上面這種形式導(dǎo)入的話,那么你使用 EasyGui 的函數(shù)的時(shí)候署辉,必須在函數(shù)的前面加上前綴 easygui族铆,像這樣:

easygui.msgbox(...)

另一種選擇是導(dǎo)入整個(gè) EasyGui 包:

from easygui import*

這使得我們更容易調(diào)用 EasyGui 的函數(shù),你可以直接這樣編寫代碼:

msgbox(...)

第三種方案是使用類似下邊的 import 語句:

import easygui as g

這樣可以讓你保持 EasyGui 的命名空間哭尝,同時(shí)減少你的打字?jǐn)?shù)量哥攘。導(dǎo)入之后你就可以這么調(diào)用 EasyGui 的函數(shù):

g.msgbox(...)

5. 使用 EasyGui

一旦你的模塊導(dǎo)入 EasyGui,GUI 操作就是一個(gè)簡(jiǎn)單的調(diào)用 EasyGui 函數(shù)的幾個(gè)參數(shù)的問題了刚夺。

例如:
使用 EasyGui 來實(shí)現(xiàn)著名的“你好献丑,世界!”程序是這樣的:

from easygui import* 
   msgbox("Hello, world!")

6. EasyGui 函數(shù)的默認(rèn)參數(shù)

對(duì)于所有函數(shù)而言侠姑,前兩個(gè)參數(shù)是消息和標(biāo)題
按照這個(gè)規(guī)律创橄,在某種情況下,這可能不是最有利于用戶的安排(例如莽红,對(duì)話框在獲取目錄和文件名的時(shí)候忽略消息參數(shù))
但我覺得保持這種一致性貫穿于所有的窗口部件是一種更為重要的考慮妥畏!

絕大部分的 EasyGui 函數(shù)都有默認(rèn)參數(shù),幾乎所有的組件都會(huì)顯示一個(gè)消息和標(biāo)題安吁。標(biāo)題默認(rèn)是空字符串醉蚁,信息通常有一個(gè)簡(jiǎn)單的默認(rèn)值。

這使得你可以盡量少的去設(shè)置參數(shù)鬼店,比如 <code>msgbox()</code> 函數(shù)標(biāo)題部分的參數(shù)就是可選的
所以你調(diào)用 <code>msgbox()</code> 的時(shí)候可以只指定一個(gè)消息參數(shù)
例如:

msgbox('I love Yunnan university')

當(dāng)然你也可以指定標(biāo)題參數(shù)和消息參數(shù)
例如:

from easygui import* 
msgbox('I love Yunnan university','OSA')

在各類按鈕組件里网棍,默認(rèn)的消息是<code>"Shall I continue?"</code>,所以你可以不帶任何參數(shù)地去調(diào)用它們
這里我們演示不帶任何參數(shù)地去調(diào)用 <code>ccbox()</code>妇智,當(dāng)選擇<code>"cancel"</code>或關(guān)閉窗口的時(shí)候返回一個(gè)布爾類型的值:

if ccbox():         
      pass             # user chose to continue
else:         
   return      # user chose to cancel

7. 使用關(guān)鍵字參數(shù)調(diào)用 EasyGui 的函數(shù)

調(diào)用 EasyGui 函數(shù)還可以使用關(guān)鍵字參數(shù)哦滥玷。
現(xiàn)在假設(shè)你需要使用一個(gè)按鈕組件氏身,但你不想指定標(biāo)題參數(shù)(第二個(gè)參數(shù)),你仍可以使用關(guān)鍵字參數(shù)的方法指定<code>choices</code> 參數(shù)(第三個(gè)參數(shù))
像這樣:

from easygui import* 
choices = ['Agree', 'Disagree', 'I don\'t care']
reply = choicebox('Do you agree that python is interesting惑畴?', choices = choices)

8. 使用按鈕組件

根據(jù)需求蛋欣,EasyGui 在<code> buttonbox() </code>上建立了一系列的函數(shù)供調(diào)用。

8.1 msgbox()

msgbox(msg='Your message goes here', title=' ', ok_button='OK', image=None, root=None)

<code>msgbox() </code>顯示一個(gè)消息和提供一個(gè)"OK"按鈕如贷,你可以指定任意的消息和標(biāo)題陷虎,你甚至可以重寫"OK"按鈕的內(nèi)容
以下是<code> msgbox()</code> 的實(shí)例函數(shù):

def msgbox(msg='Your message goes here', title=' ', ok_button=' ') 

重寫"OK"按鈕最簡(jiǎn)單的方法是使用關(guān)鍵字參數(shù):

from easygui import* 
msgbox('I love python!', ok_button='Fighting!')

8.2 ccbox()

ccbox(msg='Shall I continue?', title=' ', choices=('Continue', 'Cancel'), image=None)

<code>ccbox()</code> 提供一個(gè)選擇:<code>Continue</code> 或者 <code>Cancel</code>,并相應(yīng)的返回 1(選中<code>Continue</code>)或者 0(選中<code>Cancel</code>)
注意<code> ccbox()</code> 是返回整型的 1 或 0杠袱,不是布爾類型的<code> True </code>或<code>False</code>尚猿。
但你仍然可以這么寫:(注意先導(dǎo)入sys)

8.3 ynbox()

ynbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)

同上,都不知作者設(shè)計(jì)這兩玩意兒搞啥......

8.4 buttonbox()

buttonbox(msg='', title=' ', choices=('Button1', 'Button2', 'Button3'), image=None, root=None)

可以使用<code> buttonbox()</code> 定義自己的一組按鈕霞掺,<code>buttonbox()</code> 會(huì)顯示一組你定義好的按鈕
當(dāng)用戶點(diǎn)擊任意一個(gè)按鈕的時(shí)候谊路,<code>buttonbox()</code> 返回按鈕的文本內(nèi)容
如果用戶取消取消或者關(guān)閉窗口,那么會(huì)返回默認(rèn)選項(xiàng)(第一個(gè)選項(xiàng))
請(qǐng)看例子:


8.5 indexbox()

ndexbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)

基本跟上邊一樣菩彬,區(qū)別就是當(dāng)用戶選擇第一個(gè)按鈕的時(shí)候返回序號(hào) 0缠劝, 選擇第二個(gè)按鈕的時(shí)候返回序號(hào) 1

8.6 boolbox()

boolbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)

如果第一個(gè)按鈕被選中則返回 1,否則返回 0

9. 如何在 buttonbox 里邊顯示圖片

當(dāng)你調(diào)用一個(gè) <code>buttonbox </code>函數(shù)(例如<code> msgbox()</code>, <code>ynbox()</code>, <code>indexbox()</code> 等等)的時(shí)候
你還可以為關(guān)鍵字參數(shù)<code> image</code> 賦值,這是設(shè)置一個(gè) .gif 格式的圖像(注意僅支持 GIF 格式哦

10. 為用戶提供一系列選項(xiàng)

10.1 choicebox()

choicebox(msg='Pick something.', title=' ', choices=())

按鈕組件方便提供用戶一個(gè)簡(jiǎn)單的按鈕選項(xiàng)骗灶,但如果有很多選項(xiàng)惨恭,或者選項(xiàng)的內(nèi)容特別長(zhǎng)的話,更好的策略是為它們提供一個(gè)可選擇的列表

<code>choicebox()</code> 為用戶提供了一個(gè)可選擇的列表耙旦,使用序列(元祖或列表)作為選項(xiàng)脱羡,這些選項(xiàng)顯示前會(huì)按照不區(qū)分大小寫的方法排好序
另外還可以使用鍵盤來選擇其中一個(gè)選項(xiàng)(比較糾結(jié),但一點(diǎn)兒都不重要)

例如:
當(dāng)按下鍵盤上的<code>c</code>鍵免都,將會(huì)選中的第一個(gè)以<code>c</code>開頭的選項(xiàng)
再次按下<code>c</code>鍵锉罐,則會(huì)選中下一個(gè)以<code>c</code>開頭的選項(xiàng)
在選中最后一個(gè)以<code>c</code>開頭的選項(xiàng)的時(shí)候,再次按下<code>c</code>鍵將重新回到在列表的開頭的第一個(gè)以<code>c</code>開頭的選項(xiàng)

如果選項(xiàng)中沒有以<code>c</code>開頭的绕娘,則會(huì)選中字符排序在<code>c</code>之前<code>b</code>的那個(gè)字符開頭的選項(xiàng)
如果選項(xiàng)中沒有字符的排序在<code>c</code>之前的脓规,那么在列表中第一個(gè)元素將會(huì)被選中

10.2 multchoicebox()

multchoicebox(msg='Pick as many items as you like.', title=' ', choices=())

<code>multchoicebox()</code> 函數(shù)也是提供一個(gè)可選擇的列表,與<code>choicebox()</code> 不同的是险领,<code>multchoicebox()</code> 支持用戶選擇 0 個(gè)侨舆,1 個(gè)或者同時(shí)選擇多個(gè)選項(xiàng)。<code>multchoicebox()</code>函數(shù)也是使用序列(元祖或列表)作為選項(xiàng)绢陌,這些選項(xiàng)顯示前會(huì)按照不區(qū)分大小寫的方法排好序挨下。

11. 讓用戶輸入消息

11.1 enterbox()

enterbox(msg='Enter something.', title=' ', default='', strip=True, image=None, root=None)

<code>enterbox()</code> 為用戶提供一個(gè)最簡(jiǎn)單的輸入框,返回值為用戶輸入的字符串
默認(rèn)返回的值會(huì)自動(dòng)去除首尾的空格脐湾,如果需要保留首尾空格的話請(qǐng)?jiān)O(shè)置參數(shù) <code>strip=False</code>

11.2 integerbox()

integerbox(msg='', title=' ', default='', lowerbound=0, upperbound=99, image=None, root=None)

<code>integerbox()</code> 為用戶提供一個(gè)簡(jiǎn)單的輸入框臭笆,用戶只能輸入范圍內(nèi)(<code>lowerbound</code>參數(shù)設(shè)置最小值,<code>upperbound</code>參數(shù)設(shè)置最大值)的整型數(shù)值
否則會(huì)要求用戶重新輸入

11.3 multenterbox()

multenterbox(msg='Fill in values for the fields.', title=' ', fields=(), values=())

<code>multenterbox()</code> 為用戶提供多個(gè)簡(jiǎn)單的輸入框,要注意以下幾點(diǎn):
如果用戶輸入的值比選項(xiàng)少的話耗啦,則返回列表中的值用空字符串填充用戶為輸入的選項(xiàng)凿菩;
如果用戶輸入的值比選項(xiàng)多的話,則返回的列表中的值將截?cái)酁檫x項(xiàng)的數(shù)量帜讲;
如果用戶取消操作,則返回域中的列表的值或者<code>None</code>值椒拗。

12. 讓用戶輸入密碼有時(shí)候我們需要讓用戶輸入密碼似将,就是用戶輸入的東西看上去都是星號(hào)<code>*<code>

12.1 passwordbox()

passwordbox(msg='Enter your password.', title=' ', default='', image=None, root=None)

<code>passwordbox()</code> 跟<code> enterbox()</code> 樣式一樣,不同的是用戶輸入的內(nèi)容用<code>*</code>顯示出來蚀苛,返回用戶輸入的字符串:

12.2 multpasswordbox()

multpasswordbox(msg='Fill in values for the fields.', title=' ', fields=(), values=())

<code>multpasswordbox() </code>跟<code> multenterbox() </code>使用相同的接口在验,但當(dāng)它顯示的時(shí)候,最后一個(gè)輸入框顯示為密碼的形式<code>*</code>:

13. 顯示文本

EasyGui 還提供函數(shù)用于顯示文本

13.1 textbox()

textbox(msg='', title=' ', text='', codebox=0)

<code>textbox()</code> 函數(shù)默認(rèn)會(huì)以比例字體(參數(shù)<code> codebox=1 </code>設(shè)置為等寬字體)來顯示文本內(nèi)容(會(huì)自動(dòng)換行哦)
這個(gè)函數(shù)適合用于顯示一般的書面文字堵未。

13.2 codebox()

codebox(msg='', title=' ', text='')

<code>codebox()</code> 以等寬字體顯示文本內(nèi)容腋舌,相當(dāng)于 <code>textbox(codebox=1)</code>

14. 目錄與文件

GUI 編程中一個(gè)常見的場(chǎng)景是要求用戶輸入目錄及文件名,EasyGui 提供了一些基本函數(shù)讓用戶來瀏覽文件系統(tǒng)渗蟹,選擇一個(gè)目錄或文件块饺。

14.1 diropenbox()

diropenbox(msg=None, title=None, default=None)

<code>diropenbox()</code> 函數(shù)用于提供一個(gè)對(duì)話框,返回用戶選擇的目錄名(帶完整路徑哦)
如果用戶選擇<code>Cancel</code>則返回 <code>Non</code>雌芽,<code>default</code> 參數(shù)用于設(shè)置默認(rèn)的打開目錄(請(qǐng)確保設(shè)置的目錄已存在)授艰。

14.2 fileopenbox()

fileopenbox(msg=None, title=None, default='*', filetypes=None)

<code>fileopenbox()</code> 函數(shù)用于提供一個(gè)對(duì)話框,返回用戶選擇的文件名(帶完整路徑哦)世落,如果用戶選擇<code>Cancel</code>則返回 <code>None</code>

關(guān)于<code> default</code> 參數(shù)的設(shè)置方法:<code>default</code> 參數(shù)指定一個(gè)默認(rèn)路徑淮腾,通常包含一個(gè)或多個(gè)通配符。
如果設(shè)置了<code> default</code> 參數(shù)屉佳,<code>fileopenbox() </code>顯示默認(rèn)的文件路徑和格式谷朝。
<code>default</code> 默認(rèn)的參數(shù)是<code>*</code>,即匹配所有格式的文件武花。

例如:

default='H:/Python/*.py'

即顯示 H:/Python 文件夾下所有的 Python 文件

default='H:/Python/test*.py' 

即顯示 H:/Python 文件夾下所有的名字以 test 開頭的 Python 文件圆凰。

關(guān)于<code> filetypes </code>參數(shù)的設(shè)置方法:可以是包含文件掩碼的字符串列表。
例如:

filetypes = ["*.txt"]

可以是字符串列表髓堪,列表的最后一項(xiàng)字符串是文件類型的描述送朱。
例如:

filetypes = ["*.css", ["*.htm", "*.html", "HTML files"]]

14.3 filesavebox()

filesavebox(msg=None, title=None, default='', filetypes=None)

<code>filesavebox()</code> 函數(shù)提供一個(gè)對(duì)話框,讓用于選擇文件需要保存的路徑(帶完整路徑哦)
如果用戶選擇<code>Cancel</code>則返回<code> None</code>,<code>default</code> 參數(shù)應(yīng)該包含一個(gè)文件名(例如當(dāng)前需要保存的文件名)
當(dāng)然你也可以設(shè)置為空的干旁,或者包含一個(gè)文件格式掩碼的通配符驶沼。
<code>filetypes</code> 參數(shù)的設(shè)置方法請(qǐng)參考上邊。

15.EgStore

GUI 編程中一個(gè)常見的場(chǎng)景就是要求用戶設(shè)置一下參數(shù)争群,然后保存下來回怜,以便下次用戶使用你的程序的時(shí)候可以記住他的設(shè)置。

為了實(shí)現(xiàn)對(duì)用戶的設(shè)置進(jìn)行存儲(chǔ)和恢復(fù)這一過程,EasyGui 提供了一個(gè)叫做 <code>EgStore </code>的類
為了記住某些設(shè)置玉雾,你的應(yīng)用程序必須定義一個(gè)類(暫時(shí)稱之為"設(shè)置"類翔试,盡管你隨意地使用你想要的名稱設(shè)置它)繼承自<code>EgStore </code> 類。

然后你的應(yīng)用程序必須創(chuàng)建一個(gè)該類的對(duì)象(暫時(shí)稱之為"設(shè)置"對(duì)象)
設(shè)置類的構(gòu)造函數(shù)<code>init 方法</code>必須初始化所有的你想要它所記住的那些值
一旦你這樣做了复旬,你就可以在"設(shè)置"對(duì)象中通過設(shè)定值去實(shí)例化變量垦缅,從而很簡(jiǎn)單地記住設(shè)置
之后使用<code> settings.store() </code>方法在硬盤上持久化設(shè)置對(duì)象。

下面是創(chuàng)建一個(gè)"設(shè)置"類的例子:

#-----------------------------------------------------------------------
# 創(chuàng)建一個(gè)設(shè)置類驹碍,一個(gè)永久的設(shè)置類對(duì)象
# 參數(shù)"文件名"是必須的
# 永久的文件目錄必須存在
#-----------------------------------------------------------------------
settingsFilename = filename  # Windows example
settings = Settings(settingsFilename)

下面是使用"設(shè)置"對(duì)象的例子:

# 初始化 "user" a和 "server" 變量
# 在實(shí)際應(yīng)用中壁涎,可能讓用戶通過enterbox來輸入
user     ='obama_barak'
server  ='whitehouse'

# 我們把保存的變量作為”設(shè)置類“對(duì)象的屬性
settings.userId = user
settings.targetServer = server
settings.store()    # persist the settings

# 運(yùn)行程序給userId賦值
# 然后保留著作為設(shè)置類的新值
user    = 'biden_joe'
settings.userId = user
settings.store()

16. 捕獲異常

exceptionbox()

使用 EasyGui 編寫 GUI 程序,有時(shí)候難免會(huì)產(chǎn)生異常
當(dāng)然這取決于你如何運(yùn)行你的應(yīng)用程序志秃,當(dāng)你的應(yīng)用程序崩潰的時(shí)候怔球,堆棧追蹤可能會(huì)被拋出,或者被寫入到<code> stdout </code>標(biāo)準(zhǔn)輸出函數(shù)中浮还。

EasyGui 通過 <code>exceptionbox()</code> 函數(shù)提供了更好的方式去處理異常
異常出現(xiàn)的時(shí)候竟坛,<code>exceptionbox()</code> 會(huì)顯示堆棧追蹤在一個(gè)<code> codebox() </code>中并且允許你做進(jìn)一步的處理。<code>exceptionbox() </code>很容易使用.

下面是一個(gè)例子:

from easygui import*
try:  
        print('I Love Python.com!')  
        int('Python')    # attention
except:  
        exceptionbox()  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钧舌,一起剝皮案震驚了整個(gè)濱河市担汤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌延刘,老刑警劉巖漫试,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異碘赖,居然都是意外死亡驾荣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門普泡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來播掷,“玉大人,你說我怎么就攤上這事撼班∑缧伲” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵砰嘁,是天一觀的道長(zhǎng)件炉。 經(jīng)常有香客問我,道長(zhǎng)矮湘,這世上最難降的妖魔是什么斟冕? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮缅阳,結(jié)果婚禮上磕蛇,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好秀撇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布超棺。 她就那樣靜靜地躺著,像睡著了一般呵燕。 火紅的嫁衣襯著肌膚如雪棠绘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天虏等,我揣著相機(jī)與錄音弄唧,去河邊找鬼。 笑死霍衫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的侯养。 我是一名探鬼主播敦跌,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼逛揩!你這毒婦竟也來了柠傍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤辩稽,失蹤者是張志新(化名)和其女友劉穎惧笛,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逞泄,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡患整,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了喷众。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片各谚。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖到千,靈堂內(nèi)的尸體忽然破棺而出昌渤,到底是詐尸還是另有隱情,我是刑警寧澤憔四,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布膀息,位于F島的核電站,受9級(jí)特大地震影響了赵,放射性物質(zhì)發(fā)生泄漏潜支。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一斟览、第九天 我趴在偏房一處隱蔽的房頂上張望毁腿。 院中可真熱鬧,春花似錦、人聲如沸已烤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胯究。三九已至稍计,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間裕循,已是汗流浹背臣嚣。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剥哑,地道東北人硅则。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像株婴,于是被迫代替她去往敵國(guó)和親怎虫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理困介,服務(wù)發(fā)現(xiàn)大审,斷路器,智...
    卡卡羅2017閱讀 134,652評(píng)論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,159評(píng)論 2 33
  • 《裕語言》速成開發(fā)手冊(cè)3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 26,669評(píng)論 5 19
  • 《ilua》速成開發(fā)手冊(cè)3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 1...
    葉染柒丶閱讀 10,701評(píng)論 0 11
  • 昨晚凌晨?jī)牲c(diǎn)才入睡座哩,不管你昨晚睡的多晚多不開心徒扶,太陽升起的那一刻你必須得佯裝上陣。致一個(gè)普通的早晨根穷!
    RF601閱讀 179評(píng)論 0 0