Просмотр сообщений
|
Страниц: 1 2 3 [4] 5 6 ... 195
|
46
|
Qt / Пользовательский интерфейс (GUI) / Re: Компактный QComboBox
|
: Ноябрь 09, 2016, 11:53
|
... при разворачивании списка собственно список имеет ту же ширину, что и виджет, и элементы при нехватке места обрезаются. Как это победить?
Настройками не получится. Самый простой способ - переопределить C++ (Qt) void QComboBox::showPopup()
и после вызова базового задавать требуемый размер. Я бы хотел настроить QComboBox таким образом, чтобы в свёрнутом виде на нём отображался только значок выбранного варианта
Для этого можно задействовать QToolButton, которому задать меню, в которое поместить QList/QTree(View|Widget). При изменении текущего элемента менять иконку в кнопке.
|
|
|
47
|
Qt / 2D и 3D графика / Re: QGraphicsView sizeIncrement
|
: Ноябрь 07, 2016, 12:03
|
Warning: The size increment has no effect under Windows, and may be disregarded by the window manager on X11. Исходя из выше сказанного, коли хочешь такой функционал, сам реализуй ресайзинг окна не задействуя функционал window manager-a.
|
|
|
48
|
Qt / Общие вопросы / Re: как получить QMetaMethod слота по указателю?
|
: Ноябрь 02, 2016, 12:29
|
Но если метод помечен как слот, QMetaMetod обязан же хранить указатель на метод. Или как по другому он сможет вызвать его??
Наверное обязан и даже хранит его где-то у себя внутри. Но совершенно не обязан его нам отдавать. Слот может быть вызван через QMetaObject::invokeMethod().
|
|
|
49
|
Qt / Общие вопросы / Re: как получить QMetaMethod слота по указателю?
|
: Ноябрь 02, 2016, 11:20
|
Очень странно, я думал никаких проблем по указателю получить метаметод не будет, он же в конце концов где-то в каком-то виде его хранит...
Да ничего странного. В случае подобного коннекта используется уже не слот, а functor, на который мета-инфо просто отсутствует.
|
|
|
50
|
Qt / Общие вопросы / Re: Сортировка коллекции объектов
|
: Октябрь 18, 2016, 12:52
|
То есть можно сделать функцию для сравнения (LessThan lessThan), и подставить ее в функцию qSort в качестве третьего аргумента.
Да, а ещё лучше лямбду, если используешь C++11.
|
|
|
52
|
Qt / Вопросы новичков / Re: Изменение QComboBox в QTableWidget
|
: Октябрь 18, 2016, 11:23
|
делегатами надо.
зачем Ведь есть сигнал C++ (Qt) void QAbstractItemModel::dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector<int> & roles = QVector<int> ())
Upd. В очередной раз поспешил, ведь при изменении значения комбо-бокса данные в модели меняются не сразу. Да, в этом случае только через делегат. как сделать, чтобы QComboBox отображался сразу в таблице (а не только при начале редактирования)?
Никак. Qt-ишный MVC для этого не предназначен. Коли требуется такое поведение, добавляй комбо-боксы через C++ (Qt) void QTreeWidget::setItemWidget(QTreeWidgetItem * item, int column, QWidget * widget)
Но в этом случае сам должен будешь в модель применять изменения.
|
|
|
53
|
Qt / Общие вопросы / Re: Сортировка коллекции объектов
|
: Октябрь 17, 2016, 15:28
|
В Qt Assistant нашел способ сортировки списка QList: QList<T> list; C++ (Qt) qSort ( list.begin(), list.end() );
Там есть ещё один C++ (Qt) void qSort(RandomAccessIterator begin, RandomAccessIterator end, LessThan lessThan)
|
|
|
58
|
Qt / Qt Quick / Re: Падение приложения при удалении окна
|
: Сентябрь 28, 2016, 13:03
|
но я никак не могу понять, почему приложение падает после удаления окна.
потому что ты находясь в qml engine убиваешь сам engine, т.е. рубишь сук на котором сидишь. Попробуй C++ (Qt) void WindowManager::closeWindow() { m_window->hide(); m_window->deleteLater(); }
|
|
|
59
|
Qt / Qt Quick / Re: Падение приложения при удалении окна
|
: Сентябрь 28, 2016, 12:29
|
Коли речь идёт о закрытии приложения, то может логичнее сделать так: cpp: C++ (Qt) m_window->rootContext()->setContextProperty("app",qApp);
qml: Javascript onClicked: { app.quit(); }
|
|
|
60
|
Qt / 2D и 3D графика / Re: Antialiasing в QGraphicsView.
|
: Сентябрь 27, 2016, 17:07
|
Но я рисую-то в GraphicsScene, а АА относится к GraphicsView. Даже если я передам сцене указатель на него, это вряд ли поможет, т.к. GraphicsView покажет уже полностью отрисованную сцену, как я это понимаю.
АА относится к QPainter В перегруженном QGraphicsItem::paint() это и делай.
|
|
|
|
|