<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ShenmeGUIRuby的GUI構(gòu)建工具

          聯(lián)合創(chuàng)作 · 2023-09-28 06:46

          ShenmeGUI是一套受Shoes啟發(fā)而誕生的GUI工具,擁有相似的DSL語法,使用HTML構(gòu)建界面,并實現(xiàn)了前后端數(shù)據(jù)的雙向綁定,可以便捷地實現(xiàn)一些輕量的GUI應(yīng)用。

          安裝

          執(zhí)行 gem install shenmegui 。

          示例代碼

          require 'shenmegui'
          
          ShenmeGUI.app do
            form(title: 'Your Application') do
              button('alert').onclick do
                alert 'Hello World!'
              end
              button('open an image').onclick do
                path = get_open_file_name
                @t.text = path
                @i.src = path
              end
              stack do
                label 'image path:'
                @t = textarea '', width: '100%'
              end
              @i = image "http://7jpqbr.com1.z0.glb.clouddn.com/bw-2014-06-19.jpg"
              @p = progress(75)
              button('+').onclick { @p.percent += 5 }
              button('-').onclick { @p.percent -= 5 }
            end
          end
          
          ShenmeGUI.start!

          將會產(chǎn)生如圖所示的界面:

          如未自動打開瀏覽器,可手動打開程序代碼同目錄的index.html。

          button定義按鈕,并通過onclick綁定上了點擊事件。第一個按鈕彈出一個對話框,第二個按鈕彈出一個打開文件的對話框,將文件路徑寫到下方定義的textarea里,并改變image的src以顯示這個圖片。

          下方的兩個按鈕演示了進度條的增減。

          系統(tǒng)需求

          Ruby版本大于等于2.0.0。

          因為前后端通訊使用了websocket,所以需要使用支持websocket的瀏覽器。

          目前打開文件對話框只實現(xiàn)了windows版本,在Linux等使用會出錯,以后會嘗試在其他系統(tǒng)實現(xiàn),除此之外對系統(tǒng)沒有要求。

          瀏覽 13
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  东京热久久综合 | 日本A V在线视频 | 日韩mv欧美mv国产mv | 黄色一级免费片 | 亚洲三级视频手机在线观看 |