LINUX.ORG.RU

Разработка графических приложений на c++

 , ,


0

2

Все знают что для создания текстового helloworld-а нужно немного, а вот как создавать графические приложения? Желательно в компиляторе gcc!

Мне не нужны игры, мне нужны функционируещие кнопки!



Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от next_time

Модуль myTkinter - упрощенное создание оконных интерфейсов на Python а я вот пробовал:-) Не могу сказать что на плюсах подобное не реализуемо в принципе, но могу уверенно сказать, что это будет куда более геморно.

AIv ★★★★★
()
Ответ на: комментарий от next_time

Я думаю что на кюте будет примерно тоже самое. Как форточные лепилки они принципиально не отличаются.

AIv ★★★★★
()
Ответ на: комментарий от AIv

как бы отличаются и причём кардинально, именно вследствие того, что куте — это фраемворк, а не просто гуишная лепилка. кстати в куте всё то что вы запилили (включая дерево с интроспекцией) есть из коробки.

возвращаясь к теме, куте позволяет практически забыть про освобождение памяти, добавляет в плюсы нормальные строки и сигналы-слоты на уровне языка, это не считая прочего функционала, позволяющего полностью забыть об убожестве стандартных библиотек с++. а для питона, поскольку там нормальные либы из коробки итак, это просто ещё одна гуишная лепилка, да.

next_time ★★★★★
()

мне нужны функционируещие кнопки!

man dialog.

splinter ★★★★★
()
Ответ на: комментарий от next_time

Тем не менее кюте под плюсы ограничены возможностями плюсов.

Для конкретного класса задач всегда можно сделать поомежуточный слой, радикально упрощающий гуелепление. Так вот на питоне такой слой делать гораздо проще чем на плюсах, и никакой кюте тут плюсам не поможет, это уже особенности самого ЯП.

AIv ★★★★★
()
Последнее исправление: AIv (всего исправлений: 1)
Ответ на: комментарий от AIv

Тем не менее кюте под плюсы ограничены возможностями плюсов.

нет, не ограничены, т.к. они добавляют возможности на уровне языка

Так вот на питоне такой слой делать гораздо проще чем на плюсах

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

next_time ★★★★★
()

вопроса тупее я вообще никогда не видел

даже мои пятничные посты из альтернативных реальностей, даже в них больше аллаха

unt1tled ★★★★
()
Ответ на: комментарий от next_time

Ну прикиньте сколько букв понадобиться в плюсах что бы сделать аналогичное питоньему (при том что до создания число и тип элементов списков, ровно как и уровень вложенности неизвестны):

[1, 2., "qwerty", (3,4), {"mu":[1,2,[]]} ]
Никакое qt тут не поможет, это прямее всего делать через variadic template, и это будет ужОс.

ЗЫ Если че, я как бы 60% времени пишу на c++0x11 и 40% на питоне. И давайте уже как то... плюсам плюсовое, питону питонье. И гуйня на коленке, это именно что питонье (рубьевое и пр.), но не плюсовое, с кюте там оно или без.

AIv ★★★★★
()
Последнее исправление: AIv (всего исправлений: 1)
Ответ на: комментарий от AIv
{1, 2.0f, "qwerty", QPoint(3,4), vmap({"mu", {1, 2, QVariant()}})} 

ответный вопрос. как на питоне сделать так:


class Password{
  char pwd[256/(sizeof(char)*8)];
  public:
...
~Password(){
    memset(pwd, 0, sizeof(pwd));
 }
  
};

?

next_time ★★★★★
()
Последнее исправление: next_time (всего исправлений: 1)
Ответ на: комментарий от next_time

Че то я не поверю Вашему ответу - спросонья кажется что не ложится он в стандарт.

Отвечая на Ваш вопрос - без привлечения С никак. Но питон немножко не для этих задач, и если уж так чешется можно его лехко расширить. Но если Вы думаете, что сунув поле класса в private Вы его от кого то спрятали...

AIv ★★★★★
()
Ответ на: комментарий от AIv

Че то я не поверю Вашему ответу - спросонья кажется что не ложится он в стандарт.

укладывается в стандарт языка, но не кладётся в стандартные либы. на практике, такой синтаксис организуется либо путём простейшей обвязки через std::initializer_list вокруг QVariant, либо с помощью какой-нибудь библиотеки динамической типизации на С++, например, folly:dynamic.

Но если Вы думаете, что сунув поле класса в private Вы его от кого то спрятали...

вообще-то, этот код обеспечивает очистку памяти после удаления объекта, для того чтобы вредоностный код не мог получить доступ к конфиденциальной информации. напомню, ни delete[], ни сборщик мусора в питоне не очищают информацию после удаления объекта, поэтому любые области памяти, содержащие конфеденциальную информацию, необходимо занулять

next_time ★★★★★
()
Ответ на: комментарий от next_time

Что делает этот код я понял:-) В питоне гарантированное освобождение обеспечивается при помощи try/finally. Но для очистки строки необходимо писать сишную ф-ю и биндить ее в питон, это несложно (с-но я тока так и пишу:)) - строка неизменяемый объект и зачистить ее область памяти только средствами питона не выйдет.

AIv ★★★★★
()

Мне не нужны игры, мне нужны функционируещие кнопки!

Игры, кнопки... поистине глубокие познания о программировании!

iVS ★★★★★
()
Последнее исправление: iVS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.