<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>Модулі/ПуÑкач Qt GUI - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="../index.html"><img alt="OpenSCADA" src="../../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="uk">Модулі/ПуÑкач Qt GUI</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="uk"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Modules%2FQTStarter&action=page&filter=&language=uk" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/QTStarter" title="Modules/QTStarter">Modules/QTStarter</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../../en/Modules/QTStarter.html" title="Modules/QTStarter (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/QTStarter.html" title="Модули/ПуÑкатель Qt GUI (97% translated)">mRussian</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">УкраїнÑька</span></div></div> <table class="wikitable"> <tr> <th> Модуль </th> <th> Ім'Ñ </th> <th> ВерÑÑ–Ñ </th> <th> Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ </th> <th> Джерело </th> <th> Мови </th> <th> Платформи </th> <th> Тип </th> <th> Ðвтор </th></tr> <tr> <td> <a href="../Modules/QTStarter.html" title="Special:MyLanguage/Modules/QTStarter">QTStarter</a> </td> <td> Qt GUI пуÑкач </td> <td> 6.0 </td> <td> GPL2 </td> <td> ui_QTStarter.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> КориÑтувацькі інтерфейÑи </td> <td> Роман Савоченко </td></tr> <tr> <th colspan="9"> ÐžÐ¿Ð¸Ñ </th></tr> <tr> <td colspan="9"> Ðадає Qt GUI пуÑкач. Qt-пуÑкач Ñ” єдиним та обов'Ñзковим компонентом Ð´Ð»Ñ Ð²ÑÑ–Ñ… GUI модулів, оÑнованих на бібліотеці Qt. <ul><li> <b>Загальна працеміÑткіÑть:</b> > 10 <span title="людино-днів, 1ЛД — 10 годин">ЛД<sup style="color: blue">[!]</sup></span></li> <li> <b>СпонÑоруваннÑ, реалізації Ñ€ÐµÐ·ÐµÑ€Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° 0.5 <span title="людино-днів, 1ЛД — 10 годин">ЛД<sup style="color: blue">[!]</sup></span>:</b> Хайді Рамезані</li> <li> <b><a href="../../en/To_do.html" title="Special:MyLanguage/Works/To do">Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ (To Do)</a>:</b></li></ul> <dl><dd> - реалізувати менеджер підпроєктів Ð´Ð»Ñ Ñ—Ñ… запуÑку у окремих процеÑах, але із Ñ—Ñ… зберіганнÑм та керуваннÑм у одному конфігураційному файлі проєкту, Ð´Ð»Ñ Ð²Ð¸Ñоко-надійних конфігурацій;</dd> <dd> - реалізувати менеджер фонового Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑів.</dd></dl> </td></tr></table> <p>Модуль надає до OpenSCADA пуÑкач GUI модулів, заÑнованих на багатоплатформеній бібліотеці <a class="external text" href="http://qt.io" rel="nofollow noreferrer noopener" target="_blank">Qt</a> графічного кориÑтувацького інтерфейÑу (GUI), початково Ñтвореній фірмою <a class="external text" href="http://www.trolltech.com" rel="nofollow noreferrer noopener" target="_blank">TrollTech</a>. Також, модуль реалізує елементи менеджеру проєктів OpenSCADA. Окремий модуль Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку Qt GUI модулів потрібно через необхідніÑть організації однопотокового Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… компонентів візуалізації Qt та централізованої ініціалізації головного об'єкту Qt-бібліотеки — QApplication. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.92.D1.81.D1.82.D1.83.D0.BF"><span class="tocnumber">1</span> <span class="toctext">Ð’Ñтуп</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#Qt_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.96_OpenSCADA"><span class="tocnumber">2</span> <span class="toctext">Qt модулі OpenSCADA</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#.D0.9F.D1.80.D0.BE.D1.94.D0.BA.D1.82.D0.B8_OpenSCADA"><span class="tocnumber">3</span> <span class="toctext">Проєкти OpenSCADA</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.D0.92.D0.B8.D0.B3.D0.BB.D1.8F.D0.B4_.D1.82.D0.B0_.D0.B2.D1.96.D0.B4.D1.87.D1.83.D1.82.D1.82.D1.8F"><span class="tocnumber">4</span> <span class="toctext">ВиглÑд та відчуттÑ</span></a></li> <li class="toclevel-1 tocsection-5"><a href="#.D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F"><span class="tocnumber">5</span> <span class="toctext"><span>КонфігураціÑ</span></span></a></li> <li class="toclevel-1 tocsection-6"><a href="#API_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0"><span class="tocnumber">6</span> <span class="toctext">API Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.92.D1.81.D1.82.D1.83.D0.BF"><span class="mw-headline-number">1</span> Ð’Ñтуп</span></h2> <p>Від початку цей модуль Ñтворює окремий потік Ð´Ð»Ñ Ð¾Ñновного потоку Qt, де Ñ” можливіÑть Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐµÐºÑ€Ð°Ð½Ñƒ динамічної заÑтавки, оÑкільки оÑновні Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ OpenSCADA продовжують Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ оÑновному потоці. Та верÑÑ–Ñ Qt5 Ñтала оÑобливо чутливою до Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ неголовному потоці, тому Ð´Ð»Ñ Ð½ÐµÑ— у OpenSCADA додано таку можливіÑть, але із оновленнÑм повідомлень у заÑтавці із ÑервіÑного потоку до та піÑÐ»Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ñƒ Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð¸Ð¼ первинний завдань. Ð”Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ цієї можливоÑті передбачено параметр запуÑку <i>--QtInNotMainThread</i>, Ñкий вмикає Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ неголовному потоці, Ð´Ð»Ñ Qt4, відтак, по замовченню, здійÑнюєтьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ головному, що типово Ð´Ð»Ñ Qt5. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:606px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_splash_uk.png"><img class="thumbimage" height="304" src="../files/QTStarter_splash_uk.png" width="604" /></a> <div class="thumbcaption">РиÑ.1. Динамічний екран заÑтавки модулÑ.</div></div></div></div> <p>Діалогове вікно пуÑкачу (РиÑ.2) загалом надає: </p> <ul><li> вибір наÑвних Qt GUI модулів, може бути відÑутнім у випадку первинного запуÑку Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð»Ð¸ÑˆÐµ проєкту OpenSCADA;</li> <li> вибір наÑвних OpenSCADA проєктів Ð´Ð»Ñ Ñ—Ñ… Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ перемиканнÑ;</li> <li> вихід з OpenSCADA;</li> <li> меню допомоги з пунктами: "Про", "Про Qt", "ПоÑібник QTStarter" (F1), "ПоÑібник OpenSCADA 0.9" та "Що це" (Shift+F1).</li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:427px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_dialog_uk.png"><img class="thumbimage" height="670" src="../files/QTStarter_dialog_uk.png" width="425" /></a> <div class="thumbcaption">РиÑ.2. Діалогове вікно пуÑкачу цього модулÑ.</div></div></div></div> <p>У разі відÑутноÑті діалогового вікна запуÑку та вÑÑ–Ñ… вікно модулів Qt GUI, програма може бути запущена або згорнута у ÑиÑтемний лоток (РиÑ.3), Ñтворений цим модулем. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:340px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_systray_uk.png"><img class="thumbimage" height="174" src="../files/QTStarter_systray_uk.png" width="338" /></a> <div class="thumbcaption">РиÑ.3. Проєкт "ÐГЛКС", запущений або згорнутий до ÑиÑтемного лотка.</div></div></div></div> <p>Модулем здійÑнюєтьÑÑ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ ÑеанÑу програми при примуÑовому закритті ÑиÑтемою, Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ щоб запобігти Ñпробам Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ ÑеанÑу при Ñтарті ÑиÑтеми, оÑкільки OpenSCADA цього не потребує. </p><p>Модулем передбачено підтримку емулÑції правої клавіші миші Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½ÑŒ із ÑенÑорним екраном, на кшталт Android, оÑкільки Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñ‡Ð°Ñто передбачає контроль виключно за допомогою контекÑтного меню. ЕмулÑÑ†Ñ–Ñ Ð²Ð¼Ð¸ÐºÐ°Ñ”Ñ‚ÑŒÑÑ Ð²ÑтановленнÑм параметру командного Ñ€Ñдку <i>--simulRightMKeyTm=<tm></i>, при Ñтарті програми, де вказуєтьÑÑ Ñ‡Ð°Ñ ÑƒÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ (типово дві Ñекунди) натиÑку лівої клавіші миші (або на екрані) Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ— Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¾Ñ— клавіші миші та контекÑтної допомоги. ЕмулÑÑ†Ñ–Ñ Ð¿Ñ€Ð°Ð²Ð¾Ñ— клавіші не вимикає-відкладає первинних повідомлень лівої клавіші, відтак Ñ—Ñ— загальні дії мають працювати коректно, але можливі невідповідноÑті у міÑцÑÑ… де первинне Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‰Ð¾ÑÑŒ перемикає та емульоване Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ð¶Ðµ піде не за адреÑою! </p> <h2><span class="mw-headline" id="Qt_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D1.96_OpenSCADA"><span class="mw-headline-number">2</span> Qt модулі OpenSCADA</span></h2> <p>Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑку Qt GUI модулів викориÑтовуєтьÑÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ð¹ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ функцій модулів. Цей Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿ÐµÑ€ÐµÐ´Ð±Ð°Ñ‡Ð°Ñ” екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹ зовнішніми модулÑми. У нашому випадку Qt GUI модулі повинні екÑпортувати наÑтупні функції: </p> <ul><li> <i>QIcon icon();</i> — передає об'єкт іконки Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ‰Ð¾ викликаєтьÑÑ, Ð´Ð»Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ переліку.</li> <li> <i>QMainWindow *openWindow();</i> — Ñтворює об'єкт головного вікна цього Qt GUI Ð¼Ð¾Ð´ÑƒÐ»Ñ Ñ‚Ð° передає його пуÑкачу. Може повертати NULL у випадку неможливоÑті ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ вікна.</li></ul> <p>Ð”Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ—, Qt GUI модуль повинен визначити інформаційний елемент Ð¼Ð¾Ð´ÑƒÐ»Ñ "SubType" Ñк "Qt". ВиходÑчи з цієї ознаки "ПуÑкач" з ним працює. </p><p>ПіÑÐ»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¾Ð±'єкту головного вікна "ПуÑкач" його проÑто відображає, а вікно Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¼Ð¾Ð¶Ðµ Ñаме додатково додати елементи "ПуÑкача", у виглÑді загального переліку Qt модулів OpenSCADA, Ð´Ð»Ñ Ñ—Ñ… виклику з цього вікна. Загальний перелік Qt модулів OpenSCADA може додаватиÑÑ Ñƒ меню або панель інÑтрументів вікна, шлÑхом виклику Ñлоту "makeStarterMenu(QWidget *mn = NULL)" клаÑу QApplication від "ПуÑкачу", де у <i>mn</i> вказуєтьÑÑ Ð²Ñ–Ð´Ð¶ÐµÑ‚ контейнеру дій (QAction), або меню головного вікна, Ð´Ð»Ñ NULL. </p><p>Ð”Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Qt GUI модулів, Ñкі запуÑкаютьÑÑ Ð¿Ñ€Ð¸ Ñтарті, модуль Ñтартеру міÑтить конфігураційне поле "StartMod". У цьому полі запиÑуютьÑÑ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ‚Ð¾Ñ€Ð¸ модулів, що запуÑкаютьÑÑ. Конфігураційне поле "StartMod" можна визначити у конфігураційному файлі, а також у ÑиÑтемній таблиці БД ("SYS") через діалог <a href="#Cfg">конфігурації модулÑ</a> (риÑ.4). </p><p>У випадку Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð²Ñ–ÐºÐ¾Ð½ вÑÑ–Ñ… Qt GUI модулів або запуÑку без Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку у полі "StartMod", "ПуÑкач" Ñтворює влаÑне діалогове вікно (риÑ.2). Якщо поле "CloseToTray" конфігураційного файлу або <a href="#Cfg">конфігурацією модулÑ</a> (риÑ.4) вÑтановлено то у цьому випадку відбудетьÑÑ Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ до ÑиÑтемного лотку (риÑ.3). </p> <h2><span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D1.94.D0.BA.D1.82.D0.B8_OpenSCADA"><span class="mw-headline-number">3</span> Проєкти OpenSCADA</span></h2> <p>З інтеграцією до OpenSCADA елементів менеджеру проєктів цей модуль отримав функцію Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ñ‡Ð¸Ð½Ð½Ð¸Ñ… та ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… проєктів OpenSCADA, у переліку проєктів та команд проєктів (риÑ.2). Ðаразі передбачено два режими діалогового вікна пуÑкачу (риÑ.2), це — режим первинного-ініціюючого запуÑку та режим Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ проєкту. </p><p>Первинний-ініціюючий режим, по факту, Ñ” режимом запуÑку без визначеного проєкту та передбачає Ñаме Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñƒ другий режим, та відповідно приховує перелік Qt GUI модулів, навіть Ñкщо вони завантажені до ініціюючої конфігурації. </p><p>У режимі Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ працюють вÑÑ– типові механізми, а Ñаме це виклик Qt GUI модулів та запуÑк-Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ñƒ ÑиÑтемний лоток, а діалогове вікно пуÑкачу (риÑ.2) міÑтить перелік наÑвних Qt GUI модулів та інформацію про запущений проєкт, у заголовку вікна. </p><p>У переліку проєктів кориÑтувачу (через контекÑтне меню) додатково надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–Ñть видалити невиконувані проєкти, зарезервувати — Ñтворити резервну копію, та відновити проєкти із обраної резервної копії. </p><p>Окрім безпоÑередньо назв проєктів у переліку проєктів, праворуч від назви, наведено Ñ—Ñ… Ñтан — "поточний", "виконуєтьÑÑ" та "{N} рез.копій". Стан "поточний" означає, що здійÑнюєтьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñаме цього проєкту. Стан "виконуєтьÑÑ" вказує на наÑвніÑть файлу Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð°Ð³Ð°Ñ‚Ð¾Ñ€Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ запуÑку, а відтак Ñ– Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ, та окремо від цього проєкту Ñкщо порÑд не вказано Ñтану "поточний". Обрати та Ñпробувати перемкнутиÑÑ Ð½Ð° проєкт у Ñтані "виконуєтьÑÑ" можна, прийнÑвши попередженнÑ, але Ñкщо цей проєкт реально зараз виконуєтьÑÑ Ñ– наÑвніÑть файлу Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ Ñ” залишковим піÑÐ»Ñ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ð¾Ð³Ð¾ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ то програма, що перемикаєтьÑÑ, проÑто завершитьÑÑ! Стан "{N} рез.копій" вказує на наÑвніÑть визначеної кількоÑті резервних копій проєкту. </p> <h2><span class="mw-headline" id=".D0.92.D0.B8.D0.B3.D0.BB.D1.8F.D0.B4_.D1.82.D0.B0_.D0.B2.D1.96.D0.B4.D1.87.D1.83.D1.82.D1.82.D1.8F"><span class="mw-headline-number">4</span> ВиглÑд та відчуттÑ</span></h2> <p>У зв'Ñзку із розширеннÑм меж викориÑÑ‚Ð°Ð½Ð½Ñ OpenSCADA на мобільні програмні платформи на кшталт Maemo, MeeGo, Android та чаÑтих випадків невідповідноÑті виглÑду програм на бібліотеках Qt4 та Qt5 до ÑучаÑних оточень робочого Ñтолу, цей модуль було розширено влаÑним механізмом контролю виглÑду та відчуттів кінцевого візуального інтерфейÑу. </p><p>Загалом, модуль наразі передбачає контроль за загальним: Ñтилем віджетів Qt, оÑновним шрифтом, палітрою інтерфейÑу та таблицÑми каÑкадних Ñтилів. Цей контроль здійÑнюєтьÑÑ Ñ‡ÐµÑ€ÐµÐ· параметри конфігураційного файлу "Style", "Font", "Palette", "StyleSheets" та <a href="#Cfg">конфігурацією модулÑ</a> (риÑ.4). </p><p>Також, модулем передбачено Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð°Ð¿Ñ€Ð°Ñ†ÑŽÐ²Ð°Ð½ÑŒ окремих видів та відчуттів у бібліотеці композитного характеру, Ñка формуєтьÑÑ Ñƒ таблиці конфігураційного файлу зі Ñтруктурою: <b>LookFeel(<u>NAME</u>, FONT, STYLE, PALETTE, STL_SHTS)</b>. </p><p>Відтак, Ð´Ð»Ñ Ð¼Ð¾Ð±Ñ–Ð»ÑŒÐ½Ð¸Ñ… приÑтроїв або заздалегідь відомих Ñпецифічних оточень робочого Ñтолу, потрібний виглÑд та Ð²Ñ–Ð´Ñ‡ÑƒÑ‚Ñ‚Ñ Ð¼Ð¾Ð¶Ð½Ð° попередньо вÑтановлювати у конфігураційному файлі пакунків програми, та Ð´Ð»Ñ Ð²ÑÑ–Ñ… можна швидко змінити піÑÐ»Ñ Ð²ÑтановленнÑ, обравши потрібний з бібліотеки. </p> <h2><span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D1.84.D1.96.D0.B3.D1.83.D1.80.D0.B0.D1.86.D1.96.D1.8F"><span class="mw-headline-number">5</span> <span id="Cfg" title="#Cfg">КонфігураціÑ</span></span></h2> <p>Ð”Ð»Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ— функцій, що наведено вище, модулем надаєтьÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ–Ñть Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ—Ñ… параметрів за поÑередництвом інтерфейÑу ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ OpenSCADA (РиÑ.4): </p> <ul><li> Ð¡ÐµÐºÑ†Ñ–Ñ "Опції модулÑ": <ul><li> <i>Модулі Qt Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку</i>.</li> <li> <i>Згортати або запуÑкати у ÑиÑтемний лоток</i>.</li> <li> <i>КеруваннÑ-перезапуÑк ÑеанÑів</i> — заÑтоÑовуєтьÑÑ Ð¿Ñ€Ð¸ наÑтупному запуÑку та працює лише Ð´Ð»Ñ Ð¿Ñ€Ñмо запущених проєктів без діалогового вікна пуÑкачу (РиÑ.2) цього модулÑ. ПідтримуютьÑÑ Ñ€ÐµÐ¶Ð¸Ð¼Ð¸: <ul><li> "Ñкщо виконуєтьÑÑ" — Ñкщо він вÑе ще виконуєтьÑÑ ÐºÐ¾Ð»Ð¸ ÑÐµÐ°Ð½Ñ Ð²Ð¸Ð¼Ð¸ÐºÐ°Ñ”Ñ‚ÑŒÑÑ;</li> <li> "завжди" — бажає бути запущеним із запуÑком наÑтупного ÑеанÑу; <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../../en/files/At.png" width="22" /></a> на більшоÑті Linux/X11 Ñтільниць це те Ñаме, що й "Ñкщо виконуєтьÑÑ";</li> <li> "негайно" — бажає бути запущеним негайно коли не виконуєтьÑÑ; <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../../en/files/At.png" width="22" /></a> на більшоÑті Linux/X11 Ñтільниць це те Ñаме, що й "Ñкщо виконуєтьÑÑ";</li> <li> "ніколи" — не бажає перезапуÑкатиÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾.</li></ul></li></ul></li> <li> Ð¡ÐµÐºÑ†Ñ–Ñ "ВиглÑд та відчуттÑ", зміни тут не заÑтоÑовуютьÑÑ Ð¾Ð´Ñ€Ð°Ð·Ñƒ та вимагають перевантаженнÑ: <ul><li> <i>Відомі профілі</i> — ÐºÐ¾Ð¼Ð±Ð¾Ð±Ð¾ÐºÑ Ð· переліком профілів у бібліотеці та низка команд над поточним профілем: <ul><li> "<ОчиÑтити>" — очиÑтити поточний профіль;</li> <li> "<Прочитати назад>" — прочитати профіль з поточних налаштувань Qt, тільки у очищені елементи профілю.</li> <li> "{Ім'Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽ}" — прочитати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð· вказаного за ім'Ñм профілю та додати-Ñкомбінувати з поточним, Ñкщо він не порожній.</li></ul></li> <li> <i>Стиль віджетів</i> — поле профілю, передбачає можливіÑть Ð¾Ð±Ñ€Ð°Ð½Ð½Ñ Ð· переліку відомих у цій конфігурації Qt та не Ñ” композитним.</li> <li> <i>Загальний шрифт</i> — загальний шрифт Qt, Ñкий також визначає розмір іконок.</li> <li> <i>Палітра</i> — поле профілю кольорів інтерфейÑу у трьох групах за Ñ€Ñдками: активна, вимкнена, неактивна. Та з двадцÑтьма кольорами у групі-Ñ€Ñдку, поділені Ñимволом ',': WindowText(0), Button(1), Light(2), Midlight(3), Dark(4), Mid(5), Text(6), BrightText(7), ButtonText(8), Base(9), Window(10), Shadow(11), Highlight(12), HighlightedText(13), Link(14), LinkVisited(15), AlternateBase(16), NoRole(17), ToolTipBase(18), ToolTipText(19). Профіль допуÑкає Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ потрібних кольорів, залишаючи невизначені порожніми, та Ñаме це визначає композитніÑть палітри, а Ñаме — Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÐµÑ‡ іншим профілем бібліотеки.</li> <li> <i>Сторінки Ñтилів</i> — поле профілю каÑкадних таблиць Ñтилів (CSS), композитніÑть Ñкого полÑгає у доданні CCS правил у кінець поточного профілю.</li></ul></li></ul> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:775px;"><a class="image" href="http://oscada.org/wiki/File:QTStarter_cfg_uk.png"><img class="thumbimage" height="715" src="../files/QTStarter_cfg_uk.png" width="773" /></a> <div class="thumbcaption">РиÑ.4. Сторінка конфігурації модулÑ.</div></div></div></div> <h2><span class="mw-headline" id="API_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D1.83.D0.B2.D0.B0.D0.BD.D0.BD.D1.8F_.D0.BA.D0.BE.D1.80.D0.B8.D1.81.D1.82.D1.83.D0.B2.D0.B0.D1.87.D0.B0"><span class="mw-headline-number">6</span> API Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</span></h2> <p><b>Об'єкт Ð¼Ð¾Ð´ÑƒÐ»Ñ (SYS.UI.QTStarter)</b> </p> <ul><li> <i>Array sensors()</i> — отримати вÑÑ– наÑвні ÑенÑори від Qt mobility, повертає "false" Ñкщо не доÑтупно жодного ÑенÑору.</li></ul> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Modules/QTStarter/uk">Modules/QTStarter/uk</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body> </html>