LINUX.ORG.RU

QLineEdit в панели инструментов главного окна

 ,


0

1

в конструкторе главного окна создал панель инструметов

QWidgetAction *filter1 = new QWidgetAction(this);
filter1->setDefaultWidget(new QLineEdit(this));
toolForFilters->addAction(filter1);
addToolBar(Qt::TopToolBarArea,toolForFilters);
В интерфейсе главного окна имеется ссылка на класс документа document.

Как в методе открытия документа (который расположен в классе главного окна) добраться до сигнала textChanged виджета QLineEdit? И, вообще, можно ли добраться до textChanged?

нужно поставить коннект

connect(что типа this->toolBar()-> ... filter1,SIGNAL(textChanged(const QString&)),document,SLOT(setFilter1(const QString&)))

Так?

QWidgetAction *filter1 = new QWidgetAction(this);
QLineEdit *edit = new QLineEdit(this);
filter1->setDefaultWidget(edit);
toolForFilters->addAction(filter1);
addToolBar(Qt::TopToolBarArea,toolForFilters);

connect(edit, SIGNAL(textChanged(const QString&)), document, SLOT(setFilter1(const QString&)));
grondek
()
Последнее исправление: grondek (всего исправлений: 1)
QLineEdit *lineEdit(this);
QWidgetAction *filter1 = new QWidgetAction(this);
filter1->setDefaultWidget(lineEdit);
toolForFilters->addAction(filter1);
addToolBar(Qt::TopToolBarArea,toolForFilters);

connect(lineEdit, SIGNAL(textChanged(const QString&)), document,SLOT(setFilter1(const QString&)))
alchemist
()

new QLineEdit(this)

Ну так создай объект класса нормально и подцепи его к слоту.

EXL ★★★★★
()

Там вот выше уже посоветовали, как законнектить, только коннектить нужно к слоту, который ты сам объявишь в MainWindow. А уже там передавай на current document. Если я правильно понял, что ты хочешь сделать.

UVV ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.