Блог им. kurd

Удобство использования визуального интерфейса IUP в Quik Lua

Не так давно я сетовал на неудобства IUP smart-lab.ru/blog/1212710.php
Это «не точно». На самом деле есть возможность вывешивать из скрипта main() в Quik Lua немодальные окна IUP.
require("iuplua")
local interrupted

function OnStop()
  interrupted = true
end
--[[
function sleep(n) -- standalone
  if n > 0 then
    os.execute("ping -n "..
      tonumber(n) .." localhost > nul")
  end
end
--]]
function main()
  local btn1 = iup.button { title = "Show Dialog", }
  function btn1:action()
    local r = iup.Alarm("", "Main Title doesn't update!", "Exit")
    if r == 1 then
      interrupted = true
    end
  end -- btn1:action()

  local btn2 = iup.button { title = "Show menu", }
  function btn2:action()
    local item = iup.item { title = "Exit", }
    function item:action()
      interrupted = true
    end

    local menu = iup.menu {
      iup.item { title = "Dialog title doesn't update!",
      active = "NO", }, item
    }:popup(iup.MOUSEPOS, iup. <a name="cut"></a> MOUSEPOS)
  end -- btn2:action()

  local dlg = iup.dialog {
    iup.vbox { btn1, btn2 };
    size = "EIGHTHxEIGHTH",
  }
  function dlg:close_cb()
    interrupted = true
  end --  dlg:close_cb()

  dlg:show()
  local file = io.open("log.txt", "w+")
  if file then
    local pretime = 0
    while not interrupted do
      iup.LoopStep()
      local curtime = os.time()
      if pretime ~= curtime then
        pretime = curtime
        dlg.title = curtime
        file:write (curtime, "\n")
        --file:flush()
      end
      sleep(10) -- sleep(1) -- standalone
    end
    file:close()
  end
  dlg:destroy()
  iup.Close()
  message ("OK")
end -- main()

--main()-- standalone
--print "OK"

	
С-Л продолжает мелкие пакости. Исправьте его ляпсус на
popup(iup.MOUSEPOS, iup.MOUSEPOS)
В немодальном окне IUP можно проделывать любые манипуляции с двусторонней связью между этим окном и скриптом, пока скрипт делает, что в нём закодировано.
Пользуйтесь на здоровье.

NB Есть более простой способ «визуального интерфейса». В каком-то файл, например, Data.lua, можно разместить данные типа
Data = { valu1 = 1, value2 = «2» }
и получить их для скрипта двумя строками кода в скрипте
 os.execute («notepad.exe »… path ..«Data.lua»)
dofile (path ..«Data.lua»), где path — путь на файл Data.lua.

PS Снимок не слишком впечатляющий
Удобство использования визуального интерфейса IUP в Quik Lua
но видно, что окошко IUP вверху справа может быть за пределами окна Quik. Окно «Доступные скрипты» можно свернуть в низ окна Quik'а, о окно IUP — на таскбар Windows.
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • Quik Lua
735 | ★2

Читайте на SMART-LAB:
Обновление кредитных рейтингов в ВДО и розничных облигациях (ООО "Лизинг-Трейд" понижен ruBB+, ООО «Оил Ресурс» и АО «Кириллица» отозван)
🔴ООО «Лизинг-Трейд» Эксперт РА понизил рейтинг кредитоспособности до уровня ruBB+ и изменил прогноз на развивающийся. Ранее у Компании...
Инвестиции без спешки: торгуем в выходные
Алексей Девятов Рынок часто движется импульсами, и тем важнее оценивать активы без спешки, не отвлекаясь на инфошум. Для этого отлично...
Фото
Результаты АПРИ в рейтингах ЕРЗ.РФ на июнь 2026 год
Результаты АПРИ в рейтингах ЕРЗ.РФ на июнь 2026 год Федеральный портал «Единый ресурс застройщиков» (ЕРЗ.РФ) опубликовал рейтинги...
Фото
ЦИАН. Отчет МСФО Q1 26г. Такой рентабельности никогда не было
Вышли финансовые результаты по МСФО за Q1 2026г. от компании ЦИАН: 👉Выручка — 3,90 млрд руб. (+17,9% г/г) 👉Операционные расходы — 2,72...

теги блога Rostislav Kudryashov

....все тэги



UPDONW
Новый дизайн