А пока спрошу как лучше реализовать следующую задачу: Мне нужно разработать виджет как на второй картинке. Структуру классов я примерно накидал. Сейчас нужно сделать временную шкалу, как на третьей пикче, она может масштабироваться. И у меня возник вопрос как её создать. Я пока что создал класс для одного маленького блока, наследовав его от QGraphicsRectItem. В функции paint() рисую блок-прямоугольник и запихиваю туда соответствующий текст. Но как объединить множество таких блоков, да ещё в два ряда один над другим в отдельном классе? От чего должен наследоваться этот объединяющий класс-контейнер? Если от QGraphicsItem, тот как запихнуть в него отрисовку тех блоков, наследованных от QGraphicsRectItem? Если от QGraphicsItemGroup, то вообще не понятно.
Вообщем, призываю в тред гуру Qt Graphics Framework, чтобы они объяснили всё по хардкору.
>>426640 Хуйню полную делаешь. Зачем тебе все вручную рисовать? Наследуйся от QHeaderItem (или как он там называется). Вверху один лэйбл, внизу в горизонтальном лэйауте еще 7.
>>426767 Ну так объясни по нормальному, а не сажей меня корми. Какой нахрен QHeaderItem? Существует QHeaderView, но он только для таблиц, то есть для QTreeView, QTableView и подобному. К QGraphicsView это не относится.
Другое решение я вижу в наследовании от QGraphicsItem и рисовать вручную блоки непосредственно там в функции paint(). Но это как-то не круто.
Хмм.. можно сделать эту линеку, наследовавшись от QGraphicsWidget, установить туда лайоты QGraphicsLinearLayout в два ряда, и добавлять эти самые блоки QGraphicsRectItem. И поставить у виджета флаг setWindowFlags(Qt::Widget), дабы убрать всякую хрень как у окон. Будет выглядеть няшно, я думаю.
Останется только проблема с отрисовкой сетки под этим таймлайном.
>>426788 Да, я перепутал, QHeaderView, конечно же. Наследуешь ту ебень от него, а саму таблицу - от QAbstractItemView. >рисовать вручную блоки непосредственно там в функции paint(). Но это как-то не круто. Ну а я о чем? Это сложно, долго и глупо. Не понимаю, нахуя тебе рисовать что-то вручную. Все это делается при помощи виджетов.
>>426834 Я не могу уже наследовать "таблицу" от QAbstartItemView. Мне придётся изучать новый неведомы класс. Это убьёт ещё больше времени. Да и это не "таблица", QGraphicsView. У товарищей по ссылке выше реализовано именно так.
>>426844 >Хули ты пришел сюда Говна поесть, очевидно же. Я смотрю, отношение в тематике к мимопроходившим не меняется с 2009 года. А вопрос стоял вполне конкретный, и нашёл решение >>426802 Менять QGraphicsView на QAbstractItemView уже нет времени.
>>426966 Суть в том, что пилю свои шахматы. Когда состояние изменяется, появляется соответствующий сигнал, по которому ходит бот и по которому перерисовывается окно. Но почему-то всегда сначала ходит бот, а потом перерисовывается окно, что как-то не очень круто
>>427023 Затем, что ты не читаешь документацию, где есть ответ на твой вопрос. >>427025 Просчитывай в отдельном потоке, чтобы интерфейс не блокировался.
>>427453 Тем временем, как какой-то поехавший геронтофил тут беснуется, я таки присобачил хедер куда надо и настроил сетку. Теперь мне надо рисовать блоки, отображающие длительность задачи напротив QTreeView.
Программаторы, помогите разобраться с такой проблемой: Есть оконное приложение с "базой данных", есть класс записи для этой базы данных, содержащий 11 полей. Выводятся записи в QListWidget как строки из некоторых полей самой записи. Я юзал обычный массив записей, но сейчас нужно использовать QHash. Собственно вопрос в том, какой ключ и какое значение задавать для хэша?
>>428175 Ты понимаешь, мудель, что тут не твой личный бложик? >>428180 Тип значения - очевидно, тот же, что у тебя был в массиве. Ключ - какое-то уникальное для каждой записи значение, например, ID. >>428195 Никак. Точно так же, как нельзя преобразовать QWidget в QLayout.
Анон, как в Qt в одном файле хранить много данных с возможностью быстрого доступа и перезаписи. Конкретно такая задача - хочу хранить превьюшки картинок в файле. Картинок будет очень много (100к+) и некоторые из них нужно будет время от времени изменять (под разные размеры). Очевидное решение - накидать их файлами в специальную папочку, но это как-то некрасиво. Есть ли там что-нибудь удобное и быстрое из коробки?
>>429489 >Картинок будет очень много (100к+ Ты сам-то понял, что сказал? Какая коробка, аутист ты эдакий? Самый быстрый и решабельный путь, это сделать папку с иерархией подпапок, куда ты и раскидаешь картинки, попутно сортируя их по размеру, ебучим шакалам и всякой разной хуйне. Обрати внимание, что не стоит давать этим папкам длинных имен. Ну и файлик отдельный с дополнительной информацией для этой иерархии придумай для быстрого поиска.
>>429706 Очевидно, через QGraphicsProxyWidget, но вообще он занимается каким-то бессмысленным извращением. А все из-за того, что гордость не позволяет признать свою неправоту и послушать более опытных людей.
>>429706 В теле конструктора моего QGraphicsView добавил строчку this->setAlignment(Qt::AlignLeft | Qt::AlignTop); // устанавливает начало координат сцены в левый верхний угол. После этого setPos(0,0) у хедера нормально работает.
>>430000 Ты хочешь рисовать в GraphicsScene (что в данном случае уже глупо), но суешь туда обычный виджет. Это как рисовать картину маслом, но в отдельные участки вклеивать фотки.
>>430208 Я сую туда графический виджет, как контейнер для компановки графических айтемов. А это уже необычный виджет. Других средств компановки элементов в QGraphicsScene нет. Переводить всю проделанную работу с QGraphicsView на QAbstractItemView уже нет времени.
>>430214 Вроде можно унаследоваться от QGraphicsLayoutItem и помещать в QGraphicsLayout. Типа такого: class MyRect : public QGraphicsRectItem, public QGraphicsLayoutItem { //... };
//...
MyRect rect = new MyRect; QGraphicsGridLayout grid = new QGraphicsGridLayout; grid->addItem(rect, 0, 0);
//и так далее
Это менее костыльно. Хотя, как я уже в самом начале говорил, изначальный подход с использованием сцены неверен, здесь лучше подойдут обычные виджеты.
>>430289 У меня так и сделано же. Только этот layout просто так на сцену не запихнуть. Добавляется на сцену сначала QGraphicsWidget (мой хедер), и у него устанавливается лайот(верхний и нижний, два горизонтальных у меня), в который добавляются лайотАйтемы (RectItem-блоки c датами).
Как в этом санном Qt Creator'e подключать библиотеки? У меня есть папки include, src и lib. Куда запиздячить их пути, как в вижуал студии, чтобы все заработало. Жму Add library - генерируется какое-то ошибочное говно в .pro файл. Пытался разложить все файлы в папку со стандартными библиотеками - тогда они не могут ссылаться друг на друга. Объясни как для дауна, пожалуйста. LibQxt если что.
>>430315 INCLUDEPATH += c:/path/to/libqxt/include LIBS += -Lc:/path/to/libqxt/lib/ -lqxt (или как оно там называется) Это надо в .pro файл добавить. Естественно, либу надо скомплить сначала.
>>430408 Само собой, ты же конкретную библиотеку подключаешь, то есть конкретный файл. На самом деле там можно всякие хитрые штуки писать, чтобы, скажем, все либы из определенной папки подцепляло, но язык крайне отвратный (хуже крестов азаза).
Анон, а я вот, случайно, пизданул два исходных файла. Осталась Debug папка со всеми файлами предыдущей сборки. Нельзя ли там что-то декомпелировать? Например .o файлы? Что делать-то теперь?
>>430494 https://www.piriform.com/recuva И аналоги. Не пиши ничего на диск сейчас, лучше вообще комп выключи. Есть шанс, что еще не просралось. Каким блять местом это к Qt относится, дегенерат ты хуев?
Есть одна картинка, на которой изображен человек. Мне нужно нарисовать его контур средствами qt и opengl, как мне это сделать? Нашел про буфер цвета и кадра, какие-то кубики от нокии, но яннп.
Двач объясни плиз, что прочесть и с чего начать? В qtcreator никада не работал, с синтаксисом с знаком
>>431647 >>431648 Это не имеет никакого отношения к C++ и тем более Qt. Гугли алгоритмы поиска людей на фотографии. Алсо, хуесосу, бампающему через 2 минуты, даже помогать не хочется.
>>431653 Вопросы твои не имеют отношения к крестам и Qt. Тебе нужен алгоритм, а он от языка и фреймворка не зависит, поэтому данный тред - совершенно неправильное место для твоих вопросов.
Guys, а кто-нибудь в курсе как при помощи QMediaPlayer получить процент буферизации песни? Писал недавно плеер для прослушивания музыки из вк и вот этот момент так и не понял как. Как правильно тут сделать?
>>432476 Только вот так: http://doc.qt.io/qt-5/qmediaplayer.html#bufferStatus-prop Но, судя по описанию, буфер меньше, чем вся песня. К примеру, 1МБ (хуй знает, сколько на самом деле, вроде бы не написано). Можешь свой буфер запилить, унаследовавшись от QIODevice, и та уже буферизовать сколько тебе надо и подсчитывать как тебе надо.
>>432505 Любой более-менее объемный проект поможет получить опыт. Конкретное направление зависит от того, какую область хочешь задрачивать. Если не боишься трудностей и времени дохуя, то пили игру (QtGraphics, QtGL, QtMultimedia), да еще чтоб она была онлайновая (QtNetwork). Остальные части Qt, типа QtSQL, сами по себе довольно просты, и являются лишь интерфейсом между Qt и соответствующими технологиями (тем же SQL). Да, и не слушай петухов, которые начнут тут загонять про алгоритмы и прочую оптимизацию. Если у тебя цель - изучение Qt, то шли этих обоссышей на хуй.
>>432578 Высерание на юнити под ведро и гейфоны очередной энгри бердс - не написание игры. Можешь графический редактор еще написать, чтоб с графикой работать. Это самая сложная часть Qt, для ознакомления с остальным подойдет что угодно, хоть калькулятор, лол. >>432580 Это как ты так хитро прочитал, что увидел что-то про исключение? Я лишь предвидел, что будет попытка подменить задачу изучения Qt задачей изучения алгоритмов.
>>432582 А на чем ты там пишешь? >>432583 Блять, а каких программ не миллионы? Берешь любой класс приложений, смотришь, какие есть недостатки, какие фичи хотелось бы добавить, пишешь свое супер крутое и уникальное приложение.
>>432717 Мне например неудобно этими вашими тыкалками - планшетами и смартфонами - пользоваться. Равно как и глючными, виснущими из-за уебищных новых браузеров сайтами. Пользуюсь десктопом как зрелой, проверенной временем средой и всем доволен, ссу на поколение веб-долбоебов.
>>432735 Ты человек-крайность. У тебя мир делится на QT и юнити, QT и смартфоны. Ты настолько категоричен, что у тебя на обед, QtQuick или QtWidgets, а?
>>432749 QML - говно. В рот его ебал. Попробовал один раз и больше не хочу. Ладно, для своих задач (примитивного формошлепства) он подходит, но для чего-то серьезного не годится, больше проблем создает, чем решает.
Вбиваешь короч туда QApplication, и тебе дают референс в первой - второй выдаче.
А еще, там есть встроенный браузер классов и контекстной справки. Но это блять, нахуй, когда инетрнеты есть. Проще скачать из интернета, чем использовать контекстную справку.
>>433377 Ходил, он сказал, что со мной все в порядке. Только я по другому поводу ходил, но он бы заметил. Это не я агрессивный, а вы не умеете задавать вопросы/высказывать мнение, читать в сотый раз очередное "я не смог разобраться значит говно" утомляет. Всегда пишите конкретную проблему (не абстрактное "у меня ничего не работает", а "у меня в приложении таком-то, в окне сяком-то, возникает вот эта ошибка [полный текст/скриншот], прилагаю полный код [ссылка на ргхост/пэйстбин]"). Всегда критикуйте конструктивно. Не "я не осилил значит говно", а "это нарушает принцип такой-то, не соответствует стандарту такому-то" (принцип вашей левой пятки или стандарт вашего препода, разумеется, не рассматриваются). Вот и все. Будет вам помощь. А иначе будет то, что вы называете агрессией (хотя на деле это лишь изгнание тупого петуха, который хочет чтоб за него чудом все сделали/исправили, или который просто пришел сюда вылить свое говно).
>>433398 Ну вот. У Макса Шлее в книге более минималистичный калькулятор, тем не менее, описаны те же возможности. Не вписывается в остальные примеры. Их там четыре, вроде как.
>>433392 Не выключу, потому что мне не нравится происходящее в этом треде. >>433393 >>433402 Молодец, догадался, что я терпеть не могу. Лучше пости аниме. А лучше ни то, ни другое, потому что кому-то и аниме не нравится. Тред же не о цветных конях и не о большеглазых шлюхах. >>433398 Так бы и сказал, что слишком большой объем кода. Заладил свое "хуйня", "хуйня". Так то могли бы и поменьше сделать, но скорее всего составлением примера занимался не профессионал, потому и не учел специфику.
Кстати, а вот какого хуя нельзя навернуть другую тему для ВСЕГО qtcreator, только для области с кодом? Ставишь ночную тему, чтобы глаза не резало, а панели остаются, и выглядит это немного вырвиглазно. Очень плохо сделали!
Можно ли на QT запилить что-то вроде сокетного чатика, но без сервера? Т.е. равноправные участники. Будет ли ебля с открытием портов на каждой из пекарен?
Блин, как все сложно. Есть QListWidget короче. И есть QLabel. Нужно сделать так, чтобы при переключении элемента в списке менялся текст в лейбле. Пробовал QObject::connect(&lwg, SIGNAL(itemChanged(QListWidgetItem*)), &lbl, SLOT(setText(lwg.currentItem()->text())); Не канает.
Анон, помоги скорей. В официальном питон-треде никого нет. Как правильно записать в синтаксисе питон3. Я только учусь если че. Нуб23 x = 5 y = 2 z = xy print z
:\Python34\python.exe F:/загрузки/111.py Traceback (most recent call last): File "D:/№/111.py", line 3, in <module> z = xy NameError: name 'xy' is not defined
Process finished with exit code 1
Где-то ошибка, а где не пойму. На выходе требуется результат умножения х на у.
Господа, столкнулся с непонятной вещью. Нужно сделать перетаскивание мышью виджета в пределах родительского. Для этого переопределил mousePressEvent и mouseMoveEvent, в первом сохранял координаты, во втором сравнивал с текущими. Так вот, почему-то вместо равномерного изменения в этих координат они временами начинают изменаться скачками туда-обратно. Примерно вот так:
Захотел написать графический редактор для аутистов. Встал вопрос выбора средств разработки. В свое время один товарищ писал лабы на c++ в среде Qt creator и нахвливал последний. Решил и я попробовать сие чудо. Но после написания хеллоуворлда я начал сомневаться в своем выборе. Что мне не понравилось:
1. Неудобное и неочевидное(по сравнению с Delphi, на котором я писал лет шесть назад) задание обработчиков для компонентов форм. Я привык к тому, что кнопка при нажатии передает управление в какое-то конкретное место, обозначенное в соответсвующем свойстве компонента, а тут какая-то отпугивающая система сигнал-слот. 2. Обилие специфических метаязыковых средств, призванных упростить разработку, из-за которых я не могу утверждать, что пишу на C++. Я понимаю что и в других средах некоторые рутинные операции принято скрывыть от разработчика, но обычно это не выходит за рамки языка. 3. Наткнулся на статью, в которой написали, что вместе со скомпилированным exe-файлом обязательно должна лежать библиотека на 11 MB.
Как мне быть? Развенчайте мои предрассудки или посоветуйте какие-нибудь другие средства разработки, пожалуйста. Я понимаю что первое впечатление скорее всего ошибочное и очень субъективное, но может быть более опытный анон поможет мне с выбором.
>>434783 Ну для простой утилитки, которая по задумке должна запускаться без установки это много, при том что и одного процента этой библиотеки задействовано не будет. Возникают ассоциации с современными приложениями для андроида - эмулятором игральной кости весом в 6 мб или калькулятором, в котором нет квадратного корня, но зато есть "синхронизация в облаке" Хотя для кроссплатформенности 11 мб, действительно не цена. Может быть есть вариант перекомпилировать библиотеку каждый раз под свои нужды? >>434785 В делфи обработчик события создается за пару кликов. Какие приемущества слотосигнальной архитектуры могут перевесить эту простоту и наглядность?
Что-то я не понимаю. Как я должен обрабатывать окошки, загруженные с помощью QtUiLoader, если ни у QMainWindow ни у QWidget нет возможности перебрать/получить по имени детей?
Qt::ItemFlags flags = QAbstractListModel::flags(index); Что вот это значит, в упор не пойму :с Какой такой индекс? зачем ему флаги забирать у абстраактного класса. тупой
>>434907 Вы говорите все стандартными шаблонами, которые я давно уже прочитал в другом месте и тащемта понял. Суть в реализации, куча подводных камней. Которые блять выносят мозг потому что их не поясняют, а на очевидное говно тратят сотни строчек документации. Особенно там где начинают обобщать все к виду таблиц и вообще блядь с того момента у меня самовар дыметь начинает уже.
Функция была перегружена тобой под собственные нужны, но внутри нее или где-то еще тебе бы хотелось вызвать реализацию этой функции базового класса.
Это стандартный синтаксис С++ вызова функций-членов базового класса.
Функция возвращает флаг итема по его индексу. По возвращенному значению представление поймет, можно ли этот индекс выделять, редактировать и.т.п. и соответсвующе его отобразит.
>>434910 Вообще в Qt базовый класс QAbstractItemModel.
Это наиболее универсальный и наиболее общий вид модели который в самом полном своем описании может предоставлять доступ к иерархическим структурам данных.
Он универсальный и создан для описания древовидной структуры. Все модели реализуют именно эту структуру.
Если у дерева только корень и вложенные в него листья одного уровня - это таблица. Если у таблицы только одна колонка - это лист (список)
Просто что бы адресовать данные не достаточно просто числа, поэтому там заделали целый класс.
Это класс хранит индекс родителя (для дерева, нужно знать в какую ветку вложен итем. У таблицы например - у всех итемов - один и тот же предок - корень), а также номер строки и столбца.
>>434908 Данные обычно хранятся в самой модели, но в общем случае - не обязаны.
Модель - это лишь интерфейс обращения к данным. Она может вообще не хранить данные а генерировать их на лету или изменять их структуру (например сортировать, не меняя при этом оригинал).
Имея полное описание интерфейса модели ты можешь к ней присоединять другую модель (proxy) или вообще любой другой абстрактный интерфейс (например сетевой).
Он хранит родителя, столбец, строку и указатель вида void* (без типа) или id (quint).
Получив индекс в модели ты обращаешься либо к какой-то структуре (QMap например), сопоставляющей айди с реальными данными, или же приводишь указатель к нужному тебе типу и получаешь доступ к данным.
Легко. Тебе нужно вызвать QModelIndex QAbstractItemModel::createIndex ( int r, int c, void ptr = 0 ) const
Например у тебя есть объект типа MyDataItem item. Тогда вызов будет выглядеть так: createIndex(item->row(), item->col(), item); //приведение типа к void будет произведено автоматом.
А потом когда получешь этот индекс, что бы получить из него реальный экземпляр класса делаешь так:
Как правило достаточно сложные системы не накладывают ограничения и не предписывают правила на конкретные реализации структур данных и алгоритмов внутри классов, а лишь описывают интерфейсы взаимодействия между этими классами и характер этих взаимодействий.
Набор таких интерфейсов и структур называют "Каркасами".
Это существенно облегчает задачу большим группам программистов, пишущих сложный проект. Каждый программист решает какие-то задачи по своему, но введение подобного стандарта на взаимодействия гарантирует, что код этого программиста будет однозначно взаимодействовать с кодом других программистов.
>>434951 Экземпляры QModelIndex хранить нигде не нужно.
Используй createIndex у QAbstractItemModel для создания индекса.
Самое сложное на мой взгляд - вызвать обновление представления конкретного итема после изменения его данных.
Там нужно вызывать функции beginChangeItem и endChangeItem, а у них в качестве аргумента эти QModelIndex, которые еще и создать надлежащим образом нужно.
>>434962 Не знаю, не смотрел еще. Вот изучу азы, дальше надо будет что-то начинать потихонечку делать, по ходу дела копаясь в гугле и читая докикак с другими фреймворками. Но совсем не представляю, что это могло бы быть. Какой-нибудь мультипользовательский графический редактор, например. А что, и графика и нетворк сразу.
>>434781 Классически общеупотребительны следующие способы реализации перегрузки обработчиков главного цикла сообщений приложения во всяких фреймворках. (ты же не хочешь писать каждый раз свой обработчик на чистом Си или чистом Pascal).
1. Вызов CallBack функции по указателю. Тут OS посылает потоку сообщение, которое в цикле вызывает по этим самым указателям обработчики этих сообщений. Пользователь создает функцию и подсовывает циклу указатель на нее, тем самым реализуя свой функционал. Delphi использует именно этот способ. Обработчику передается указатель на те самые button1OnClick() функции.
2. Динамическое связывание и перегрузка виртуальных методов. По сути, те же CallBack только более нормальной форме на встроенном синтаксисе языка. Qt использует это как систему Event-ов. Суть - функции в обработчике событий - виртуальные, пользователь может их перегрузить и тем самым реализовать свой функционал. Delphi позволяет реализовать этот способ перегружая функции непосредственно с ключевым словом Message.
3. Система метапрограммирования сигналов-слотов. Те же callBack-и только в еще более абстрактом виде, пропущенные через метакомпилятор. Такую систему использует Qt, GDK например.
>>434977 Потому что мне надо ловить клики по ссылкам, но не надо, чтобы он автоматически переходил. И даже setSource в anchorClicked не работает, потому что калбэк вызывается раньше. Вот почему нельзя было сделать так, чтобы возвращенный из него False означал бы "не переходи", а True - "переходи". Общепринятая же практика.
Читаю про эвенты. И тут такая хуита пикрелейтед. Так как правильно? Перезаписывать метод event и туда хуярить все сразу, или блять по отдельности определять эвенты типа mouseMoveEvent, resizeEvent и пр.? Или как? Не понимат, очень мутно объяснили все.
Просто если они имеют ввиду >по отдельности определять эвенты типа mouseMoveEvent, resizeEvent и пр. вместо >event и туда хуярить все сразу тогда не совсем понимаю, зачем они вообще рассказали про второй способ, раз он такой хреновый. Объясните ньюфагу, позязя.
Поясните за ваши окна. ИДЕ в комплекте какое-то говно, пробовал накатить на 13 студию, но там Останкино из костылей. Я против крестов ничего не имею, но не фанат. Уже джва года перекатываюсь с сишарпа, но как-то припекает. Как вы вообще работаете с этим?
>>437099 Дело вкуса же. Я много языков пробовал, жабу, пистон, лишп, хачкиль, еще что-то, не помню уже, но ни один из них мне не понравился. На крестах приятнее писать.
>>437846 >спорят, что лучше сисярп или кресты >подразумевают, что это не спор говна против мочи Вощем поссал на опущенцев. Всем давно известно, в каком языке лучший синтаксис всех времен. Рубибог
>>437863 На руби тоже, кстати писал. И тоже не понравился. Неприятно писать, как бы коротко и красиво ни получалось, сколько бы сахара там ни было. Из всех языков кроме крестов более-менее идет жаба, но не с фреймворками, написанными дегенератами для дегенератов, типа спринга, а в чистом виде.
>>439391 Я же писал как-то. Узнавал по ходу дела. Когда что-то требовалось сделать, читал доки/примеры по схожим задачам. Книжки ты можешь до старости читать, и так и не написать ни одной программы. Это старое как мир, давно всем известное оправдание бездействию.
>>439561 Окич. Есть такая тема. Сделать виджет для рабочего стола, который может в проигрывание плейлистов и радиостанций(существующие аналоги под прыщи не устраивают). Что мне гуглить? Если не ответишь на вопрос - ты хуй, потому что отрицаешь что перед тем как уходить в свободное плавание надо сначала получить базу. А не сразу строить велосипеды.
Что делать ньюфагу.Аноним20/02/15 Птн 14:22:26#271№439755
Привет. Не гоните меня пожалуйста. Тут возникла нужда сделать к проекту на OpenGL/glut какой-то небольшой интерфейс. Мне посоветовали на QT сделать. С чего мне начать? Есть какие-то туториалы/книжки толковые? Много там придётся переделывать? Какую версию QT стоит юзать? Цель - сделать приложение с несколькими текстбоксами, несколькими кнопками и окном для отрисовки графики.
>>439812 А где ты видел фонон в Qt5? Вот то-то же. Хранить либо при помощи QSettings (если у тебя там не сотни разных настроек и тысячи плейлистов), либо в SQLite-базе при помощи QtSQL. >272765 Че это бля?
>>440186 Медиаплеер нашел. Но мне только аудио надо. И чтобы можно было вытягивать из файликов имя исполнителя/жанр/название трека/продолжительность etc. Вроде теги называется, да?
>>440191 Ну так только аудио и выводи. Там отдельно аудио и видео выводы (output) есть. Насчет тегов не помню, но вроде кьют не может в это, придется стороннюю библиотеку цеплять.
>>440483 В пятом, в свою очередь, есть несколько новых фич, например нормальные регулярки. Четвертый все еще поддерживают, так что устаревшим он не является.
Хотя, хуй с этим фононом. Уже в принципе разобрался с qtmultimedia. Обрадовало наличие класса для плейлистов(а я сидел и думал над велосипедом, эх). Все, больше никаких книг по Qt. Ты меня вылечил, анан.
Как получить metaData не из mediaPlayer, а из qmediacontent? Как же я наебался с этим. Мне нужно сделать так, чтобы в списке песен были нормальные названия, взятые из метадаты..
>>441144 В гугле же, ну :с Обидка в том, что QMediaObject имеет этот метод! Но сука QMediaPlaylist принимает только QMediaContent, который в свою очередь не имеет метода .metaData() Чому так глупо, господи :с
Сделал все кроме ебаного определения тегов, а придется все переделывать из-за такой хуйни.
>>441358 Да погоди ты, я беру например 1 объект класса mediaContent(беру из плейлиста,не суть) просто mediaContent::metadata не взлетает, нет такого метода. Но mediacontent::media::metadata еще не пробовал, как приду домой обязательно попробую, это будет 10/10 если сработает
>>441406 Плейлист - это несколько треков (для простоты - файлов). Теги есть у файла, но у плейлиста их быть не может. Выбираешь конкретный файл из плейлиста (скажем, третий) и у него уже смотришь теги.
>>441412 Ты меня не понял, я знаю что такое плейлист с: Я из плейлиста беру по индексу объект типа mediaContent, забудь что я вообще за плейлист говорил. Я имел ввиду что не знаю как из mediaContent'a получить тежики. Вот смотрю сейчас в доке - нет у qmediaContent такого метода.
>>441420 Я жопой читал. Короче, решение похоже только одно - выбирать каждый раз в медиаплеере нужный контент и получать из медиаплеера его теги. Тупо, согласен. Вообще весь модуль как-то безалаберно написан, даже размер кеша нельзя поменять.
Доброй ночи, кьютаны, ньюфаг просит о помощи. Сейчас разбираюсь с QGraphics, и у меня возникла проблема. Мне нужно сделать объект как на пике - коробочка с текстовым айтемом и прикрепленной к ней двумя кружками. Каждый из кружков при нажатии обрабатывает свое событие, т.е я наследую QGraphicsItem и создаю свои классы для них и для коробочки. На сцену я хочу все добавлять одним объектом, как лучше это сделать ?
У меня есть mainwindow, в котором вводятся значения параметров, области допустимых значений x и прочее... Как мне это дерьмо передать в paintEvent класса qgraphicsview? В этом проблема.
>>445088 Я не злобный, просто такому хуесосу тупому не хочу помогать. Такие как ты никогда не учатся и не хотят учиться, а только паразитируют, задавая из года в год одинаково тупые вопросы, не потрудившись даже хоть как-то сформулировать задачу. Поэтому хуй тебе, а не помощь. Тем, кто задает нормальные вопросы, я отвечаю и тут, и в кресто-треде. Исправишься - отвечу и тебе.
Смотрите, кутаны. Есть один QFrame (на картинке он градиент от белого к светло-серому), на него добавил обыкновенную QPushButton (с буквой М которая). Вокруг кнопки почему-то возникла непонятная чёрная рамка. Не знаете, отчего такое и как его убрать?
>>449088 Есть, но выглядит совершенно не так. Вот точно такая же кнопка внутри QFrame, совсем иной вид. А убирать рамку в стиле я пробовал, тогда кнопку совсем не видно.
>>449113 Ну так сделай такую, чтоб было видно, но не слишком жирно, че тупишь то. "border: 1px solid #CCCCCC;" например, если Qt это сожрет, конечно (там несколько урезанный CSS).
Кто то может помочь с графиками в QT? Используя QCustomPlot без проблем нарисовал 3 графика на 3 виджетах, теперь задание написать модуль для рисования 3 графиков на одном qwidget, чтобы их можно было одновременно масштабировать. То есть 3 графика то на одних осях не проблема, нужно 3 графика со своими осями один над другим. Есть мысли как это лучше сделать? Гугол ничего толкового не дает, в книжках вроде тоже нет, да и написано там слишком обобщенно.
>>449528 А обращаться к ним придется к каждому отдельно? У меня начинается такая каша "ui->widget->addGraph(); ui->widget2->addGraph(); ui->widget3->addGraph();" Или я не очень хорошо понял про "трех виджетах", ты имеешь в виду какой объект?
>>449539 Наследушь от виджета новый класс - "виджет с тремя графикам". В нем внутри три виджета для каждого графика, но они скрыты. Работешь с ними через методы основго виждета, придумываешь какой тебе там интерфейс нужен. И работаешь с этим виджетом как с одной цельной сущностью.
>>449541 Хм..А есть разница, наследовать от Qwidget или от QFrame? А то мне почему то старший коллега советует через QFrame, хотя он от QWidget отличается вроде только наличием рамок, или я не прав?
Аноны, а подскажите по qtCreator. Автокомплит в создаваемом в проекте пустом main.cpp работает как часы, но если добавляю новые файлы в проект - ничего не работает, никакой автокомплит.
>>449551 А ты когда нибудь пользовался QWT? Вроде хорошая возможность рисовать крутые графики, но у меня не получилось установить на win8x64, по этой инструкции http://qtlinux.narod.ru/install_qwt.htm Там какой то пиздец с установкой
>>453100 Это мудак уровня долбящегося в глаза. >The type of event eventType is specific to the platform plugin chosen at run-time >plugin chosen at run-time >plugin
Пишу на qt из под visual studio Не обоссывайте, лучше ответьте. Есть 4 dll-проекта с общей include директорией дерево примерно такое -include -prj1 -prj2... Проблема в том, что moc не запускается для хедеров, расположенных в include Пробовал добавлять в MocOptions -I (путь к include) - не помогло
Если я установлю один и тот же (расположенный по одному и тому же адресу) ивент-фильтер, то кьют будет вызывать одно и то же дважды? Или на 2м просто пропустит установку? мимо жопо-чтец документации
Анон, а можно ли как-то рисовать QPainter-ом поверх всех виджетов-потомков? На каком-то форуме читал, что проще будет добавить ещё один виджет прозрачный поверх и рисовать на нём. Но у меня большие сомнения:
1) В qt нет настоящего z-order, а потомки эти добавляются и удаляются в процессе. Значит нет гарантии, что прозрачный будет всегда наверху 2) А не будет ли он перехватывать все мышиные события, если он всегда наверху?
>>455637 >нет гарантии, что прозрачный будет всегда наверху Да, никакой гарантии нет. Решается вызовом QWidget::raise() >не будет ли он перехватывать все мышиные события, если он всегда наверху? Будет, разумеется. Решается установкой атрибута QWidget::setAttribute(Qt::WA_TransparentForMouseEvents); http://www.qtcentre.org/wiki/index.php?title=Widget_Overlay
И вот сижу я в компании, куда меня направили проходить практику, с первым очень простым заданием (нарисовать графики простых математических функций) я справился быстро, т.к. в сети есть целые примеры как это делать, просто полностью скатал, немного украсил плюшками которые так же были объяснены в сети. Задание усложнили, теперь сижу и понимаю, это пиздец. Наследовать класс от класса? Вроде мысль понятна, пишешь название класса, :: и название класса родителя, прописываешь паблик, приват и вуа ля! Но когда я сажусь за пк и смотрю в этот Qt Creator, мысли путаются, желание почитать вк, поиграть в игру, подрочить в туалете, что угодно лишь бы не делать эту работу. Мне уныло сидеть за компом, я подрабатываю продавцом-промоутером выходного дня, перепродаю ноуты, телефоны, очки с китая, в общем барыга как он есть. Но не судите строго, семья большая, деньги нужны на банальные вещи пожрать, одеться, починить старый кран, трубу или оплатить счета за квартиру. Итак, мне неполных 24 года, и я не знаю чем мне заниматься. Мне нравится копаться в компах, узнавать что-то новое, читать хабр, настраивать сетку или перепаять разъем. Но пока мне совсем не интересно сидеть за компом 5 дней в неделю с 10 утра до 6 вечера. А диплом все равно написать надо, глупо на 5 курсе сваливать с учебы. Мысли о том чтобы просто заплатить кому нибудь чтобы сделали, а так же ТРЕВОЖНЫЕ МЫСЛИ о том что я просто ненастойчивый парень, который столкнувшись с трудностью сразу сбегает. Ведь я не знал как рисовать графики эти сраные, а за время учебы тупо сдавал чужие лабы и много пиздел, но когда я искал инфу это было интересно! Было очень круто когда у меня получилось и программа заработала! Я даже отцу показывал, хвастался, смотри что Я СДЕЛАЛ, САМ, СВОИМИ блядь руками и головой(хотя что я сделал? спиздил чужие работы и подогнал под свое задание) ХЗ зачем я это все написал, нужно было выговориться кому то, и может услышать советов что делать в такой ситуации.
>>455675 А ты после школы в 17 лет уже был целеустремленным и знал что тебе в жизни нужно??? А после поступления уже как то отчисляться яиц не хватило. Может стоить отметить тот факт что после 1 семестра(даже сессию не застал), меня забрал тубдиспансер, и я 1,5 года провалялся в больничке, где меня каждый день пичкали антибиотиками. Потом вернулся, в группе не нашел товарщей ибо был старше, они просто учились на мамкины денежки ходили в кафе, а я полдня ходил голодным потому что денег не было. Пришлось начать работать и забивать на учебу. Ты сам то всю жизнь кодер?
>>455656 >Мне уныло сидеть за компом, я подрабатываю продавцом-промоутером выходного дня, перепродаю ноуты, телефоны, очки с китая >Мне нравится копаться в компах, узнавать что-то новое, читать хабр, настраивать сетку или перепаять разъем Работай сисадмином. Задротить перед компом не надо, сиди с бабами в бухгалтерии чаи гоняй и ферму им настраивай. Если найдешь годную контору, то сможешь и разъемы паять, и хабр читать, и в компах копаться и, возможно, даже продавать ноуты и телефоны. Возможно, даже твое дурацкое образование поможет, хотя странно что за 5 лет учебы тебя не научили даже класс наследовать. Хули ты там все 5 лет делал?
>>455700 Прогуливал лекции, сдавал чужие лабы вместо своих, или переделывал чужие лабы под свои. А перспективы у сисадмина есть? Или я так и буду всю жизнь за 30к в месяц чаи гонять в бухгалтерии?
>>455703 >А перспективы у сисадмина есть? Судя по тому что ты впустую сознательно проебывал 5 лет потому что отчислиться яиц не хватило – ты в любом случае будешь всю жизнь за 30к чаи гонять.
Возможно, попадешь в теплое местечко и сможешь там бюджеты пилить, с твоими навыками "сдавал чужие лабы, переделывал" остается только наебывать.
>>455711 Почему же впустую? У меня будет диплом, не сказать что совсем ненужная вещь. Даже если не брать лекции, но при сдаче лаб ты что-то усваиваешь, я явно лучше разбираюсь в программировании/электронике чем большинство моих знакомых гуманитариев или даже технарей не связанных с ПК(инженеры, электронщики) Насчет второго, наверно странно, с моими навыками я людей бы разводил только так, но я этого не люблю, и на работе, хоть я и могу получать 10% за продажу "настройки вашего пк всего за xxx руб" в которую входит пакет бесплатных программ, я этого не делаю. И я не продаю пк со встроенной графикой "средние игры на средних настройках потянет", я честно говорю что это тупо печатная машинка а не игровой пк. Но когда я знакомлюсь с людьми. связанными с сетевым маркетингом, меня чуть ли не на коленях умоляют к ним приходить работать, потому что я добьюсь успеха, но НАЕБЫВАТЬ я не хочу. Я покупаю что-то по дешевке если есть возможность, а потом перепродаю накидывая какую то сумму, но мои покупатели в итоге довольны что получили товар дешевле чем в любом магазине, и это ни разу не наеб.
>>455687 >яиц не хватило Вот и соси хуй по жизни, чмо. Поделом. >>455724 >У меня будет диплом, не сказать что совсем ненужная вещь. В голос с мудака. Абсолютно бесполезная вещь, особенно в IT. Ради диплома даже полгода тратить не стоит, не то что 4\5\6 лет.
>>455687 > А ты после школы в 17 лет уже был целеустремленным и знал что тебе в жизни нужно??? Конечно не знал и целей у меня не было, как и нет сейчас. Просто нравилось программирование ещё в школе. Проблем при выборе направления дальнейшего обучения не было. > А после поступления уже как то отчисляться яиц не хватило Ну, это уже твои тараканы. Я знаю людей, которые переводились с технических на гуманитарные специальности на 4 курсе и ничего, доучились. Просто поняли, что это не для них. > Потом вернулся, в группе не нашел товарщей ибо был старше Какая здесь связь между обучением и друзяшками? Это как-то повлияло на то, что ты продолжил идти по неугодному пути? > Пришлось начать работать и забивать на учебу К слову сказать из того, чему учили в ВУЗе по факту пригодилось процентов 10. Всё остальное — это уже самообучение. Глупо пенять на то, что ты пропустил, что ты работал и так далее. Программирование одна из тех штук, которые не надо учить по 8 часов в день 5 дней в неделю. Всё можно освоить очень быстро, другое дело что у каждого это получается в меру возможностей. Но уж если тебе это ещё и неугодно, то о каком успехе можно говорить. > Ты сам то всю жизнь кодер? Если ты имеешь ввиду что я всегда работал программистом, то да.
>>455734 /0 Еще меня быдлом называет, охуеть просто. Ну не скажи, диплом как факт того что ты не полный мудак, при устройстве куда угодно и кем угодно явно в плюс пойдет. И еще раз, повторяю, такая ситуация у большинства молодежи, АБСОЛЮТНО. Ты конечно наверняка просто охуительный молодец, сразу понял чем заниматься хочешь по жизни, в универе отучился(если вообще учился, программистам ведь образование НИНУЖНО, главное уметь писать код?) на красный диплом и теперь работаешь в супир-пупир компании ведущим программистом. Поздравляю, че, не всем так повезло.
>>455741 >Ну, это уже твои тараканы. Я знаю людей, которые переводились с технических на гуманитарные специальности на 4 курсе и ничего, доучились. Просто поняли, что это не для них. Так какая разница, я точно так же могу подучить экономические предметы и идти работать экономистом/финансистом, и меня возьмут даже с дипломом программиста. Так что смысла на 4 курсе менять группу особого не было.
>>455743 Пинал хуи все время, на пары не ходил, в этом году заканчиваю. Диплом уже готов (содержательная часть, имею в виду). Работаю уже по удаленке, тоже нихуя не делаю. Так что да, я молодец. Суть не в том, чтобы работать, и не в том, чтобы получить диплом, а в том, чтобы делать что нравится и жить как хочется.
>>455743 > диплом как факт того что ты не полный мудак Как маркер того что ты готов 5 лет заниматься неинтересной и ненужной тебе хуетой, получить знания уровня "разбираюсь в погромировании лучше чем юрист Сычев" и при этом остаться довольным ситуацией. Ок.
>>455750 >я точно так же могу подучить экономические предметы Ты за 5 лет даже свою основную специальность подучить не смог, сколько лет тебе потребуется чтобы сменить ее?
>вуз >программирование Компуктерщики, плиз. В вузах не учат программированию. Ваши лабы и теория 80-х годов не имеют ничего общего с настоящими программами.
>>455854 Погромист, плиз. Все эти ваши настоящие программы™ не имеют ничего общего с программированием, они так и остались на уровне теории из 80х, интерпретированной макакой.
Кто нибудь рисовал графики вручную без использования QCustomPlot, QWT? Используя только внутренние инструменты. Попробовал через Qpainter но как представлю что придется рисовать линии от точки к точке..Это же ппц тупо, других вариантов нет?
>>457058 >других вариантов нет? Можешь заказать, тебе за деньги за доширак какой-нибудь фрилансер сделает. Конечно больше никак. Или используй библиотеки, или изобретай велосипеды. Только вот нахуя, если есть библиотеки.
Ubuntu 10.04, Qt 5.4.1, видеорилейтед. Пропадает страница. В дебаг ничего не пишется, ошибок никаких будто бы нет, просто исчезает по-тихому. Если отключить жабаскрипт, то любой сайт работает нормально (но без жабаскрипта, естессно). Некоторые сайты с жабаскриптом тоже нормально работают, но на большинстве страница пропадает. На доброчане, например, работает, а на сосаче, мале, гугле, тытрубе, яндексе - пропадает. На голой странице с гуглокапчей пропадает. Че за хуйня то? Все остальное работает идеально.
При использовании QPainter координата точек (0,0) находится в верхнем левом углу, говорят можно изменить используя setWindow(), но я туплю. Как изменить координатную сетку чтобы (0,0) была в центре?
Можно ли рисовать на QFrame? Что для этого нужно? http://www.prog.org.ru/topic_13567_0.html Вот по этому примеру пытаюсь, но ни хуя. В примере он прописывает " QPainter p(this); " и у меня при простом добавлении этой строчки ничего не жалуется, но не рисует ни хуя.
Можете накидать уроков по QT?Нашел только урок по созданию блокнота, а хочется больше. Все другие уроки уже очень выского уровня, так что там ничего не понятно. Выручайте
Где взять что-то наподобие QtTreePropertyBrowser, но для Qt 5.4 ? Все, что нашел, нуждается в 4. Цель - сделать панель свойств как в самом QtDesigner'e, как выйти из положняка?
>>461686 Только вот почему-то я решаю свои проблемы и не задаю даунских вопросов, а долбоебушки сосут и плачутся на сосаче. Портировать с 4 на 5 можно элементарно, если тебе это сложно, то ты дефективный какой-то. https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5 Вторая ссылка в гугле, да. Но ты же не гуглишь, а ноешь на сосаче.
Как пользоваться scale от qpainter? Описание скудное, а примеров не нашел. Лично у меня p.scale(-1, -1) / p.scale(1, 1) /p.scale(0.5, 0.5) работает, линии рисуются. Пробую 2,2 или больше программа зависает. Объясните, как работает scale? Он увеличивает масштаб?
>>466515 >Как же извернуться? Во-первых, использовать тег code, во-вторых, почитать документацию и найти [code lang="c++"] T &operator [](const Key &key) [/code]
Я вам покушать принес. http://akreuzkamp.de/2013/07/10/webapps-written-in-qml-not-far-from-reality-anymore/ Суть - пишем в брошзере на QML, ~300 КБ жабаскрипта и вперед, никаких плагинов не требуется. HTML и CSS отправляются туда, где им и место - на помойку... сказал бы я, но, увы, проект еще довольно сырой и далеко не все фичи QML поддерживает.
>>426640 Hi all. Анон, какая самая ходовая версия Qt сейчас? Есть написанная мною на крестах утилитка, использующая Qt 5 (5.3.1, если точнее). Утилита Linux-специфичная (работает с dbus), потому возникает вопрос: как там с пятыми кутями в репозитариях у остальных дистров? Сам на седьмом Debian люблю, знаете, несвежим дерьмом мамонта с утреца обмазаться, Qt5 на данный момент завезли только в Sid, поэтому собираю динамически с бибилотеками, поставляемыми вместе с Qt SDK. Под четвретыми кутями не собрать, ибо есть некоторая несовместимость. Заранее спасибо, анон.
Посоны, поясните за QT на линуксах. Сам программирую на C# под винду, но скоро могут заставить писать на прыщах.
>Базовой операционной системой для процессора является ОС «Эльбрус», построенная на основе ядра Linux версии 2.6.33. В её состав входят менеджер пакетов и более 3 тысяч программных пакетов из состава дистрибутива Debian 5.0. Имеется полный набор инструментов разработчика, в него входят оптимизирующие компиляторы для языков высокого уровня Си, Си++, Фортран-77 и Фортран-90.
Нужно будет делать какой-то графический интерфейс, как там с QT на Debian 5.0?
>>475388 >возможность поработать с кодом ядра >пердолинг с живыми пейсателями этого поделия >задачи по оптимизации, адаптации >нет, не хочу, хочу ебаться в абстрактную фабрику заедая жабасриптом в перемешку с пехепе >две зарплаты среднего жабапидора в месяц
>>475487 Скорее единственный паттерн, который мимолетом увидела процедуроблядь, после чего ей порвало жопу и она пошла визжать на Двачи, ибо есть десятки шаблонов легче и популярнее.
Привет, программач. Понадобился мне экзотический контейнер для Qt. Чтобы он работал как ассоциативный массив (типа того же QMap), но на одно значение можно было бы навешивать несколько разных ключей. В идеальном варианте, ключи можно делать разных типов. То есть по поведению оно должно напоминать NoSQl-базы. Может кто видел подобные либы?
Обьясните плиз ньюфагу. Хочу запилить калькулятор. Кнопки компоную сеткой. В нижней строке, на одну кнопку меньше и последняя кнопка - это равно. Я хочу сделать так, что бы равно заполняло все оставшееся пространство в строке, при этом что бы не остальная хуйня не поплыла по пизде
>>480778 Да в том то и дело, что я понимаю что взаимоисключающие параграфы у меня получаются. Но фишка в том, что мне нужно окно в котором будут размещены кнопки изначально не стандартного размера, при этом некоторые должны занимать по 2 - 3 колонки
>>480836 >нужно окно в котором будут размещены кнопки изначально не стандартного размера, при этом некоторые должны занимать по 2 - 3 колонки Ты не совсем внятно ситуацию описал.
Пока что могу только предложить обрабатывать их размер вручную.
Посоны, тред не читал, как там в QT с лицензией, если я на работе делаю проект на QT и фирма продала это поделие заказчику, что требуется то от меня, копирайт наложить где-то или нельзя продавать? Или отстегивать процент?
Посоны, а как проверить, принадлежит ли точка QPointF прямоугольнику QRectF или нет? Есть какая-то готовая функция или оператор в Qt? Или я должен вручную границы проверять?
Надо запустить юниттест из-под дебагера. Всё это в Qtcreator и mingw. Проблема в том, что тест валится из-за ASSERT failure in Q... (внутри Qt короче), но программа не прерывается, из-за чего получить инфу от дебаггера у меня не получается. Для обычного проекта есть хак: [code] void crashMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg) { __asm("int3"); // abort(); }
...
int main (int argc, char *argv[]) { QCoreApplication a(argc, argv);
Имеется задача сравнения большого количества строк. Чем это быстрее сделать? На данный момент использую QStringList, работает не слишком быстро. Может сначала отсортировать методом sort() и только потом сравнивать?
>>489264 Сортировка ничем же не поможет. Ускорить можно в случае если у твоих строк всегда/почти всегда одинаковое начало - написать свой компаратор который будет начинать сравнение с дальних символов которые более вероятно отличаются. Если бы у строк сразу при создании просчитывались хеши (как в дажве вроде бы) можно было бы сравнивать сначала хеши, но для этого нужны иммутабельные строки. Скорее всего ничего не сделаешь, проверь там на что именно время тратится, может у тебя там проблема с контейром (большое время доступа), хотя там обещают что у at() константное время доступа, попробуй итератор.
Поясните за рисование в програмках. Недавно пришлось первый раз делать рисовку вместо кнлпочек - я конкретно не понял как это делать, поэтому в кувиджет запилил кулэйбл, в него замунул изображение, а на изображении уже рисовал. редроу вызывал update(). Как по-человечески это сделать? Там, во всяких тридэ игрульках все так же происходит отрисовка раз в N ms?
>>490502 Документацию почитай, там очень подробно про рисование написано. >Там, во всяких тридэ игрульках все так же происходит отрисовка раз в N ms? В целом - да, примерно так же.
Как в qt creator,е скомпилить полностью готовый исходный файл? Чтобы я его мог на любом компе запустить? Пробовал компилить и в debug и в release, потом накидывал кучу dll, причем все эти dll искал методом тыка. Кое-как приложение все-таки запустилось на моем компе. Скидываю вместе с набором dll на другой комп и вижу пикрилейтед. Моя жопа уносится в облака. Что это вообще за хуйня? Почему в таком инструменте как Qt нет простой кнопочки, которая бы компилила и добавляла все нужные файлы?
>>492217 >в таком инструменте как Qt нет простой кнопочки, которая бы компилила и добавляла все нужные файлы Барин запретил. Для статической линковки нужно самостоятельно практически весь тулчейн собирать и компилировать.
>>492217 >Почему в таком инструменте как Qt нет простой кнопочки, которая бы компилила и добавляла все нужные файлы? Потому что это инструмент для людей, которые понимают, что делают, а не для спермоклоунов. Скомпилируй Qt статически, и будет тебе готовый бинарник (а не исходник, как ты говоришь, мудило), который можно везде запускать.
>>492219 >>492221 Компилировать Qt я буду летом, когда буду ставить прыщи и во всем этом копаться/разбираться. А сейчас мне просто нужно допилить проектик для универа, и ебаться с компиляцией кути мне некогда.
>>492243 >мудаки-одногруппники А если я не хочу быть мудаком? Я изучаю Qt, это можно делать и без знаний статической линковки, ибо когда я доберусь до компиляции Qt я уже буду иметь начальные знания, и смогу набросать среднее приложение.
>>492246 Я тебе про то и говорю, что для полноценного использования Qt (и многих других инструментов) требуется понимание того, что ты делаешь. Глупо возмущаться, почему нельзя "просто нажать кнопочку" и полететь на Марс не вставая со стула.
Вот напрасно Qt Library на программаче петушат. Библиотека очень даже хороша, если неплохо знать кресты (C++) и разбираться в её классах. Для второго есть отличная книга от Макса Шлее - http://rutracker.org/forum/viewtopic.php?t=4582272 (на озоне от него и по Qt 5.3 есть). Для кроссплатформенного бесплатного (хуйцов Мелкософту) программинга (Linux+Windows+MacOS X) рекомендую.
>>496484 Хороша, но как и все подобные монолиты это путь в никуда. Её части, да, можно выборочно требовать в приложении. Но каждая из частей абсолютно бесполезна вне контекста qt.
>>496931 Ну почему же вникуда? Кутишные приложения реально без проблем "подружить" и с либами чужими (каюсь, пробовал только на винде с DLL-ками), и с сетевыми приложениями, даже писанными на том же Делфи, а OpenGL работает шикарно, на винде не надо писать префикс "wgl" заместо <s>Авроры</s> "gl". Qt - реально полноценная кроссплатформенная IDE, пусть и куда менее удобная того же вижуала.
Пишу в Qt на плюсах клон сапера. Создал функцию по нажатию на кнопку, удалил. Полезли ругательства о потерянных символах: moc_mainwindow.obj:-1: error: LNK2019: unresolved external symbol "private: void __cdecl MainWindow::on_field_00_clicked(void)" (?on_field_00_clicked@MainWindow@@AEAAXXZ) referenced in function "private: static void __cdecl MainWindow::qt_static_metacall(class QObject ,enum QMetaObject::Call,int,void *)" (?qt_static_metacall@MainWindow@@CAXPEAVQObject@@W4Call@QMetaObject@@HPEAPEAX@Z) Гугол посоветовал запустить qmake и сделать ребилд. Сделал - нихуя, все те же потерянные символы. ЧЯДНТ?
>>500028 Починил это дерьмо, удалив обьявление неиспользуемой функции в заголовочном файле. Но в процессе работы возникли еще вопросы: как сделать, что бы кнопку можно было нажать только один раз и она оставалась в нажатом виде до тех пор, пока не будет нажата другая кнопка (кнопка рестарта всего этого дерьма). Пока удалось только сделать ее нажатой до тех пор, пока не будет закрыта программа.
>>500047 А еще при открытии окна, кнопки должны быть ненажимабельные пока не будет нажата эта же кнопка рестарта. У Qt нету соответсвующего слота (или я просто пиздоглазый и не нашел)
>>500130 Да, я еблан. Про QGaphics слышал, но зассал его использовать, т.к. почему-то показалось, что на то, что бы разобраться с ним уйдет хуева туча времени.
Еблан снова на связи. Я все же решил допиливать, используя кнопки. Я даже сделал все, о чем спрашивал ранее. Теперь проблема состоит вот в чем: я создал 100 кнопок в форме, каждую отдельно. Писать 100 однотипных функций обработки нажатия каждой клавиши даже я считаю уебанством. Можно ли как-то обьединить эти кнопки в массив, и в цикле для каждой кнопки обьявлять и вызывать соответсвующую функцию?
Помогач. Есть QListView + QFileSystemModel. Не могу понять как убрать расширение файла. Вернее как изменить название айтема в QListView? Желательно так, чтобы я мог получить правильный путь к файлу после этого. Надеюсь, понятно объяснил.
Анон, помоги. Хочу добавить картинку в формочку: создал лейбл, загрузил ее в пиксмап, в конструкторе отображается хорошо, при запуске - картинки нет. Что происходит?
>>500805 Ну я не знаю как там в именно Qt принято. Что-то типа генеришь кнопки динамически, складируешь их в вектор. У тебя должен быть один слот на обработку кликов. В обработчике клика дергаешь QObject::sender() - получаешь указатель на нажатую кнопку, определяешь какая кнопка была кликнута (например по имени объекта - соотвественно его нужно устанавливать для каждой кнопки свой, или по координатам кнопки, что может быть проще если кнопки статичны). Делаешь что тебе нужно в зависимости от отжатой кнопки. Второй вариант сделать у слота 1 параметр, и там когда соединяешь сигнал кнопки со слотом передаешь параметром номер кнопки.
>>500808 Блять, и как сделать, что бы оно видело картинку в папка с екзешником вне зависимости от того, где она находится? Я знаю, блять, что долбоеб, но завтра нужно курсач сдать, а на еблю с англоязычными доками уйдет куча времени.
А пока спрошу как лучше реализовать следующую задачу:
Мне нужно разработать виджет как на второй картинке. Структуру классов я примерно накидал.
Сейчас нужно сделать временную шкалу, как на третьей пикче, она может масштабироваться. И у меня возник вопрос как её создать. Я пока что создал класс для одного маленького блока, наследовав его от QGraphicsRectItem. В функции paint() рисую блок-прямоугольник и запихиваю туда соответствующий текст. Но как объединить множество таких блоков, да ещё в два ряда один над другим в отдельном классе? От чего должен наследоваться этот объединяющий класс-контейнер? Если от QGraphicsItem, тот как запихнуть в него отрисовку тех блоков, наследованных от QGraphicsRectItem? Если от QGraphicsItemGroup, то вообще не понятно.
Вообщем, призываю в тред гуру Qt Graphics Framework, чтобы они объяснили всё по хардкору.