У меня есть виджет информации/уведомлений, который должен отображаться, когда некоторые даже встречаются. Моя идея состояла в том, чтобы иметь виджет, который скрыт в верхнем левом углу и будет показан, когда это необходимо. Проблема в том, что если я просто поставлю там простой виджет и покажу его, все будет перемещено вправо, я хочу показать, что виджет сверху что-то в этой области (он будет скрывать, что там, но это нормально). Я не могу использовать сложный виджет, потому что информационный виджет находится в разных измерениях, чем другие виджеты. И если я просто создаю плавающий виджет и переместим его в эту область, он не переместится, если основное окно будет перемещено. Есть ли способ, как это сделать?Qt виджет, отображаемый над другими виджетами
ответ
Посмотрите QDialog
создать и Exec один из них, когда происходит ваша ошибка, вы можете построить их, чтобы по умолчанию в порядке отмены кнопок с
EDIT: К сожалению, я имею в виду QMessageBos см ниже код
QMessageBox error_message(QMessageBox::Icon::Critical, "Title of the window","Some Text about the error to show the user", QMessageBox::StandardButtons(QMessageBox::Yes | QMessageBox::Cancel), this);
error_message.exec();
Это не ошибка, это дополнительная информация об объекте, который они вызвали действием, например углом поворота к некоторым осям. Поэтому я не могу использовать модальный диалог (и предпочитаю не использовать отдельно от главного виджета). Информация в этом виджете может быть полезна для пользователя в этот момент (или до некоторого другого действия) или может не быть (в этом случае он просто закрывается/скрывается). – Dainius
Если вы используете визуальную студию, вы можете увидеть что-то подобное, если у вас есть панель инструментов справа (или слева) с функцией автоматического скрытия. Он будет проходить через существующий макет, но не влияет на него. – Dainius
вы можете использовать QDialog, а затем просто создать его, а затем установить флаги для не модальных и всегда сверху, просто кажется, что это лучший способ сделать это, чем добавить еще один скрытый виджет и показать его при необходимости ... – AngryDuck
Просто создайте и разместите виджет «на лету». Избегайте использования пользовательского интерфейса для размещения виджета, потому что тогда позиция виджетов управляется макетами.
EDIT: Не забудьте создать виджет после инициализации диалога. Если вы не позаботитесь об этом, ваш виджет будет вставлен внизу.
class Dialog : public QDialog
{
Q_OBJECT
std::unique_ptr<Ui::Dialog> _ui;
QWidget* _widgetOnTheTop;
public:
Dialog(QWidget* parent)
: QDialog(parent), _ui(new Ui::Dialog)
{
_ui->setupUi(this);
_widgetOnTheTop = new QPushButton(this);
_widgetOnTheTop->setGeometry(10,10,100,35);
_widgetOnTheTop->show();
}
};
- 1. Qt: правильный способ нарисовать виджет над родительским виджетами эффективно
- 2. FloatingActionButton размещен над другими 2 виджетами
- 3. виджета, который всплывает IMAGEBUTTON над другими виджетами/ярлыки
- 4. Android, как сделать виджет сверху/над другими
- 5. Qt сплиттер с пустым виджетами
- 6. QT - скользящий виджет
- 7. Qt Margin/расстояние между виджетами
- 8. Qt Drag & Drop с собственными виджетами?
- 9. Delphi 2007 - ManualFloat заставляет элементы управления виджетами плавать над всеми другими окнами.
- 10. Приложение PyQT - где хранить данные, которые затем обрабатываются другими виджетами?
- 11. Как нарисовать линию над виджетами в Qt5
- 12. Max виджетами информацию в Qt
- 13. Looping над виджетами в Tkinter
- 14. PyGTK: добавление текста над виджетами
- 15. Предложения SearchView отображаются над виджетами
- 16. Qt: обнаружить, если мышь находится над определенным виджетами, даже если у этого виджета нет фокуса
- 17. Qt python настраивает виджет позиции динамически
- 18. Qt widget обнаруживает события мыши, когда курсор не находится над виджетами
- 19. Удаление тонких границ между виджетами в Qt
- 20. Виджет ввода электронной почты Qt
- 21. Как выровнять виджеты с другими виджетами
- 22. ListView в действии с другими виджетами
- 23. ImageView в relativelayout, перекрывающемся с другими виджетами
- 24. пользовательский виджет с дочерними виджетами kivy
- 25. Qt - Создать виджет динамически
- 26. Как разместить один виджет над другим в Qt
- 27. Как создать интерактивный виджет редактирования текста Qt
- 28. Как получить кнопку, чтобы плавать над виджетами кендо
- 29. Qt - Определить абсолютный виджет и позицию курсора
- 30. Навигация над другими divs
Установите родительский элемент в виджет, но не добавьте его в макет. Будет ли это работать? – thuga
Я этого не пробовал, спасибо. – Dainius