В этой статье я хотел бы поделиться своим опытом разработки одного виджета (элемента графического интерфейса), попутно осветив некоторые технологии и техники Qt.
Очень часто бывает необходимо дать пользователю возможность вставки строк и столбцов в таблицу или удаление их из неё. Как правило это реализуется так: надо выделить строку кликнув по хидеру и выбрать пункт в меню: select > menu > insert | delete. Это не совсем очевидно и интуитивно, как и то что строка вставляется перед текущей а не, например, после неё. Поэтому я написал виджет который снимает эту проблему.
Виджет выглядит как четыре кнопки, следующие за курсором по границе таблицы (хаха, это совсем как те пчелки, которые бегали за курсором на сайтах в эпоху вэб 1.0!). Можно было бы перегрузить QTableView, но тогда придется изменять все инстансы; вместо этого я написал отдельный виджет которые представляет из себя как бы панельку которая прикрепляется к уже имеющемуся QTableView. Читать полностью »
Рубрика «GUI» - 11
Qt виджет для добавления и удаления строк в таблицe QTableView
2012-10-01 в 8:18, admin, рубрики: c++, GUI, mvc, opensource, qt, Qt Software, Программирование, метки: gui, mvc, opensource, QtjQuery plugin для форм с динамической структурой
2012-09-08 в 17:30, admin, рубрики: forms, GUI, html, javascript, jquery, метки: forms, gui, html, javascript, jqueryХочу поделиться с обществом собственным плагином, который упрощает работу с динамическими формами и называется jqDynaForm. Под динамическими формами я подразумеваю формы, в которые при заполнении пользователь может добавлять по необходимости дополнительные поля или блоки полей. Разумеется, в каждом месте разрешено добавлять только заранее разрешенные виды блоков. Вот примеры подобных простейших форм:
1. Контактная форма, в которой есть поле «телефон». Пользователь может добавить еще несколько дополнительных полей для телефонов, если возникнет желание.
2. Счет на оплату. Есть фиксированный набор полей, таких как «имя плательщика» и «номер счета». Кроме того, есть таблица с позициями. Каждая позиция состоит следующих полей: «наименование», «количество», «цена». Пользователь может добавлять произвольное количество дополнительных позиций.
Давайте рассмотрим работу с jqDynaForm на примере такого счета. Вот пример такой формы:
Ruby NoName Podcast S04E17
2012-09-05 в 15:09, admin, рубрики: bundler, dci, debug, eventmachine, gitlab, goliath, GUI, mobile, profile, rails, ruby, rubygems, thin, threads, websockets, zeus, подкасты, метки: bundler, dci, debug, eventmachine, gitlab, goliath, gui, mobile, profile, rails, rubygems, thin, threads, websockets, zeusПодкаст
http://ruby.rpod.ru/283342.html
Новости
- Thin v2
- Множества в Ruby от Avdi Grimm
- Refinements в Trunk
- Зевс ускоряет рельсы
- Голиаф стал взрослым — вышла версия 1.0.0
- Refinements и DCI
- Tic-tac-toe with EM and websocket
- Generating Thread-Dumps for Ruby Scripts
- Stack tracy and video
- Dan Watsons Coding Zen
- Polish your gems
- DJ Mon – веб мордочка для DelayedJob
- Разработка гемов с помощью bundler
UICloud: Самая большая база пользовательских интерфейсов
2012-08-30 в 10:06, admin, рубрики: android, apple, css, GUI, html, JS, psd, windows, веб-дизайн, Дизайн в IT, интерфейсы, метки: android, apple, css, gui, html, psd, windows
UICloud — это база бесплатных пользовательских интерфейсов с поисковой системой, рейтингом и каталогизатором в которой собрано все от исходников в формате PSD, до готовых решений на HTML, CSS или jQuery: формы, слайдеры, кнопки, календари, элементы и полноценные интерфейсы для мобильных и веб приложений. В проекте уже сейчас можно найти практически все что нужно для облегчения процесса разработки дизайнерам и разработчикам.
На данный момент в базе 23586 элементов и почти тысяча UI-сэтовЧитать полностью »
Unity3D 3.x Получение текущего активного окна
2012-08-15 в 11:47, admin, рубрики: game development, GUI, reflection, unity3d, метки: c++, gui, reflection, unity3d Недавно перед нашей командой встала довольно простая задача. Нам нужно было сделать перетаскивание вещи из инвентаря в другие окна (эквип, сундук). Если два окна находятся друг над другом, то вещь должна упасть в то окно, которое выше.
Бегло осмотрев список свойств в классе GUI я не нашел чего-либо подходящего, потом я осмотрел GUIUtility, и даже заглянул в GUILayout. Вообщем такого свойства нигде не было. Гугление по этому запросу выдает несколько вопросов в Q&A и пару скудных постов на офф. форуме которые заканчиваются ответами в стиле «так сделать нельзя, но можно вручную отслеживать по какому окну нажали мышкой и заполнять переменную активного окна самостоятельно».
Нам не подошло ничего из того что там предлагали, но один парень натолкнул меня на интересную мысль. Мы пишем код на C#, а значит можем пользоваться всеми плюсами этого языка, в том числе и С# Reflection
Читать полностью »
Простая GUI утилита для управления standard vSwitch в VMWare vSphere через PowerCLI
2012-07-18 в 17:47, admin, рубрики: GUI, powercli, powershell, VMware, vsphere 5, виртуализация, Песочница, метки: gui, powercli, powershell, vmware, vsphere 5Доброго времени суток, уважаемые читатели!
Мне бы хотелось поделиться с вами простым, и на мой взгляд, удобным способом управления виртуальными коммутаторами в инфраструктуре VMWare vSphere, не используя vDS (vSphere Distributed Switch).
Кто-то не использует vDS потому, что не видит в них надобности. Кто-то потому, что ему неудобно. Кто-то потому, что нет лицензии — ведь vDS требует Enterprise Plus лицензию vSphere.
Мы тоже пока используем обычные vSwitch, не смотря на наличие более 70 ESXi гипервизоров в инфраструктуре. И так получилось, что за время работы с ними, у меня скопилось множество PowerCLI скриптов для автоматической настройки тех или иных функций. И захотелось их объединить в нечто большее, сделав удобный инструмент для других администраторов. Через некоторое время я наткнулся на пакет Primal Forms (сейчас он называется PowerShell studio, есть урезанный Community Edition) и понял, что следующим шагом будет GUI. Primal Forms позволяет создавать GUI средствами самого PowerShell, однако существенно упрощая этот процесс — достаточно нарисовать GUI в редакторе, а потом простым щелчком по кнопке или другим управляющим элементам дописать код.
В итоге получилась скрипт-утилита позволяющая:
- Добавить портовую группу на все ESXi хосты в конкретный vSwitch
- Удалить портовую группу со всех хостов с конкретного vSwitch
- Добавить новый vSwitch с указанным MTU на все хосты
- Удалить vSwitch со всех хостов
- Проверить целостность: на всех ли хостах портовые группы одинаковы?
Плюс некоторые дополнительные плюшки:
- Включить/выключить SSH на каждом хосте
- Включить/выключить предупреждение о запущенном SSH на каждом хосте
Делать все это вручную на каждом хосте не только утомительно, но и довольно бестолково. Конечно, можно использовать host profiles, но для этого нужно переводить каждый хост в maintance mode. Да и те кто работали с host profiles могут подтвердить, что процесс применения профиля совсем не быстрый.
Примеры кода, и сама утилита под катом.
Читать полностью »
GUI, не GUI — или как включить и отключить графический интерфейс в Windows Server 2012
2012-07-17 в 5:23, admin, рубрики: GUI, powershell, windows, Windows Server 2012, Блог компании Microsoft, ит-инфраструктура, метки: gui, powershell, Windows Server 2012 Когда появилась самая первая версия Server Core многие администраторы избегали его по той причине, что они могли использовать исклюительно возможности командной строки, а это не всегда удобно. Однако, в Windows Server 2012 ситуация поменялась, теперь стало возможным использовать гибридный режим, т.е. возможно как отключение, так и включение графического интерфейса.
Читать полностью »
[Почти]-MVC-подход к реализации пользовательского интерфейса в Delphi. Часть 3. Объекты
2012-07-10 в 5:43, admin, рубрики: Delphi, GUI, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс, Программирование, разработка, метки: Delphi, gui, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс
В предыдущих частях статьи (1, 2) я показал, каким образом можно организовать работу с внутренними данными приложения и пользовательским интерфейсом через одну точку входа — модель. Изменения модели автоматически отражались в пользовательском интерфейсе. При этом для упрощения в качестве модели я использовал простые property класса формы, setter которых может привести GUI интерфейс к текущему состоянию модели. В данной части статья я покажу, как интерфейс может реагировать на изменения самих объектов внутри приложения.
Читать полностью »
[Не совсем]-MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 2. Списки
2012-07-05 в 11:08, admin, рубрики: Delphi, GUI, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс, Программирование, разработка, метки: Delphi, gui, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс
Предыдущая статья была посвящена всего одной галочке. Пора переходить к чему-то чуть более серьезному. Сегодняшняя тема — представление списков и связь GUI-списков с внутренними данными. Статья предназначена для Delphi-разработчиков.
Читать полностью »
MVC-подход к разработке пользовательских интерфейсов в Delphi. Часть 1. Галочка
2012-07-04 в 13:13, admin, рубрики: Delphi, GUI, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс, Программирование, разработка, метки: Delphi, gui, mvc, mvp, паттерны проектирования, пользовательские интерфейсы, пользовательский интерфейс
Не буду писать красивых предисловий, потому что статья не развлекательная, а скорее техническая. В ней я хочу кратко рассмотреть простые приемы программирования пользовательского интерфейса классических desktop-приложений в среде Delphi.
Тех немногих, кто еще пользуется этой средой разработки, прошу под кат.
Читать полностью »