Загрузка...
Linux
Новости, статьи, обсуждения, - все что связано с GNU Linux, FreeBSD, OpenBSD, Sun Solaris, Mac OS X и другими системами. Если вы интересуетесь данной темой - добро пожаловать в сообщество.

Программирование

     
08.05.10, 22:24
Автор ggg

Вы много времени проводите с редактором Vim, знаете все его настройки, сочетания клавиш, используете подсветку синтаксиса и автодополнения, но вам этого мало? Вам кажется, что некоторый набор команд, можно объединить в макрос, но в макросе не хватает немного внутренней логики? Вам хочется оптимизировать рутинный набор действий? Тогда эта статья — то что вам нужно. В ней рассказывается про язык программирования, встроенный в редактор Vim, который позволит расширить его возможности и удовлетворить самого взыскательного пользователя.


Читать полностью

Хотелось бы чуть-чуть пофлеймить на эту тему. Недавно начал делать делать небольшую программку на C++ с использованием Qt. Установил QtCreator - хорошая среда разработки, даже и спорить то не буду. Но вот возник такой вопрос: нужно сделать виджет, на котором я буду сам рисовать линии и кружочки, как это сделать? Я конечно не против, что сделать это не сложно, унаследовался от класса QWidget, переопределил функцию paintEvent и радуйся жизни, но при этом, для того, чтобы использовать созданный виджет в QtCreator-е придется написал плагин для данной IDE, скомпилировать его в виде библиотеки и подключить.

А если у меня таких виджетов будет 2, 3, 10 и в каждом функция paintEvent будет отличаться? Мне тогда придется 10 плагинов писать к QtCreator? По-моему это ужасно. С другой стороны, я подумал, что можно было бы сделать 1 виджет а-ля MyWidget который в paintEvent будет генерировать некоторое событие, на которое я смогу повесить несколько функций. Тогда нужен будет только 1 плагин, но, как говорил мой научный руководитель - мы становимся заложниками того, что из слотов, которые мы будем соединять с сигналом, генерируемым в MyWidget::paintEvent я не смогу иметь доступа к приватным методам виджета.

Как же быть в такой ситуации? С одной стороны не хочется создавать плагин ради каждой функции paintEvent, с другой - мне может понадобиться доступ к внутренностям QWidget-а. Господа, кто более прокачан в Qt, подскажите плз, как быть? Вариант - не создавать интерфейсы мышкой а делать все руками - хорош, но в данной теме не рассматривается, хочется именно мышкой. А может быть мне и не понадобится доступ к внутренностям QWidget?

Подводя итог, сформулирую круг вопросов на которые я хотел бы получить ответы:

  1. какие есть способы рисования на QWidget-е без непосредственного наследования?
  2. можно ли отнаследоваться от QWidget-а только один раз, но на этапе инициализации программы задавать для конкретного виджета алгоритм рисования?
  3. сталкивались ли вы с описанной в посте проблемой и если да - как решили ее?
Ближайшие события
октябрь 2017
сентябрь 2017
август 2017
Пн
Вт
Ср
Чт
Пт
Сб
Вс
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1