關於Lua在GUI程式設計中的應用

2021-04-21 00:14:02 字數 551 閱讀 1530

在我們的gui系統實現中,為了使gui系統的風格可以靈活改變,我採用了lua指令碼化來實現。

具體實現:

建立lua的指令碼函式,int lua_adddialog(lua_state * l);int lua_addbutton(lua_state * l);等,在lua中可以直接新增dialog,button,這樣gui初始化的位置,大小,等都可以在指令碼中寫好,不同的gui介面需求就填入不同的資料。

關於gui事件的處理,也採用指令碼觸發原理。在指令碼建立gui元件的時候給每個元件賦予乙個id,然後在程式中給乙個統一介面

如下:class guievent

private:

static guievent * m_pinstance;

};在指令碼中

function onclick(n)

end來具體接收和處理響應。

例如:addbutton() //id = 1;

function onclick(n)

if n == 1 then

//處理id為1的button事件

endend

關於C 中的GUI執行緒

大家知道,c 中線程分兩種,一種是工作者執行緒,另外一種就是gui執行緒,至於他們這間的區別大家可以上網上查詢 這裡我只是說明一下,建立gui執行緒時,需要注意的地方。有些和視窗相關的執行緒,最好是放在gui執行緒裡,因為和視窗或是特殊控制項有關的初使化操作,gui執行緒已經幫你合理的優化了,如果用...

Vector在Java程式設計中的應用

vector 類提供了實現可增長陣列的功能,隨著更多元素加入其中,陣列變的更大。在刪除一些元素之後,陣列變小,增長長度是原來的一倍。他支援程序同步.vector 有三個建構函式 public vector int initialcapacity,int capacityincrement publi...

關於」 」操作符在lua中table的運用

首先,先看乙個 運用的例子 tags tags tags 1 4 這裡表示在表tags最後,插入元素4,因此表tags元素個數將會為4。在lua中 表示返回表長度,類似c 中的getlen 函式,不過,對於 操作,有幾點需要注意。1.只有當鍵值是連續的數值鍵值時,返回值才是有意義的。例如 local...