KM
Sept. 24, 2020, 1:27 p.m.
как скрыть елемент с копии виджета
Добрый день я копирую обект из другого класса, а именно
- auto widget = new errorWidget(error, this->ui->contentWidget); //Stwórz widget błędu
как я могу с копии убрать кнопку(X)? если пишу widget-X или errorWidget ->X QT ее не видит=(
тили хотя бы скрыть ее при этом не лезть в класс где она создавалась.
Просто этот виджет отображаеться в других местах у меня в программе
кстати кнопка создана не динамически а внутри виджета= виджет-виджет-кнопка
2
253
Do you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Дело в том, что ui класса находится в private-секции... И из-вне доступ получить, не нарушая канонов - не получится) Можно конечно сделать что-то в духе #define private public, но это для истинных извращуг))))
Первое, что пришло в голову:
В конструкторе Вашего errorWidget-виджета добавить булевскую переменную, которая будет собственно отвечать за то, видна ли кнопка Х или не видна)
И кнопка видна будет, когда
И скрыта, когда
А чтобы не править ранее работающие вызовы виджета, можно в конструкторе указать значение по умолчанию = true.
Тогда старые вызовы не придется переписывать)
А в новых уже укажете требуемое состояние)
Но я так чую, что придется подсказать еще и что в конструкторе писать? Там подправить-то немного придется... Чего Вы боитесь?)
Вы меня не правильно поняли
мне нужно скрыть X!
как я могу с копии убрать кнопку(X)? если пишу widget-X или errorWidget ->X QT ее не видит=(
Можете попробовать установить парента для виджета.
Когда вы создаёте виджет
То вы передаёте ему parent объект. Полагаю, что это this->ui->contentWidget . parent будет отвечать за то, внутри какого объекта находится создаваемый объект. Чтобы обращаться к созданным вручную виджетам, рекомендую сделать для них переменную, или вектор виджетов, чтобы можно было их куда-то сохранять, а ваше обращение через errorWidget->X не работает именно потому, что нет переменной, куда вы сложили этот виджет или метода, который достал бы созданный виджет из переменной или вектора виджетов.
Удалить пост нельзя... Поэтому удачки, Катту)
Help
include
include
include
include
include
include "errorwidget.h"
include "erroragregator.h"
ErrorStatus::ErrorStatus(QWidget *parent) :
QWidget(parent),
MenuElement(":/icons/img/error.png", nullptr, "0"),
ui(new Ui::ErrorStatus)
{
}
void ErrorStatus::checkForErrors() {
clear(this->ui->horizontalLayout);
Global::Alarm::turnOff(); //alarm noise
}
void ErrorStatus::clear ( QLayout* layout )
{
QLayoutItem* item;
while ( ( item = layout->takeAt( 0 ) ) != nullptr )
{
}
void ErrorStatus::addEventer(ErrorAble eventer) {eventers.append(eventer);}
void ErrorStatus::removeEventer(ErrorAble eventer) {eventers.removeAll(eventer);}
void ErrorStatus::abort()
{
foreach(ErrorAble *eventer, eventers) {
eventer->resetErrors();
}
}
QWidget *ErrorStatus::getView(){return this;}
ErrorStatus::~ErrorStatus(){delete timer;delete ui;}
можеьте написать как это будеь в файлe .H?
Пожалуйста, используйте диалог вставки программного кода, чтобы вёрстка для программного кода нормально отображалась.