Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 12.12.2014, 05:07   #1
lexflax
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 74
Сообщение Вызов функции из одного класса кнопкой из другого класса

Доброго времени суток.
Помогите разобраться с сигналами и слотами. Уже устал перечитывать не могу до конца понять один момент.
У меня создана форма класса
Код:
MainWindow1::MainWindow1(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow1)
В нем в заголовочном файле прописан слот
Код:
2
3
4
private slots:
    
void prostoSlot();
описал его содержимое в MainWindow1.сpp
Код:
void MainWindow1:: prostoSlot()
{
    nomenclatura = new QSqlTableModel(this);
        nomenclatura->setTable("nomenklatura");
        // передаем данные из модели в tableView
        ui->tableView->setModel(nomenclatura);
        // устанавливаем высоту строки по тексту
        ui->tableView->resizeRowsToContents();
        ui->tableView->setColumnHidden(0,true);// скрываем первое поле с id
        // шапки для колонок
        nomenclatura->setHeaderData(1, Qt::Horizontal, tr("Код товара"));
        nomenclatura->setHeaderData(2, Qt::Horizontal, tr("Наименование позиции"));
        nomenclatura->setHeaderData(3, Qt::Horizontal, tr("Цена за 1 шт"));
        ui->tableView->setColumnWidth(2, 400 ); //QTableView* view, column - номер колонки, width - ширина.
        // передача управления элементу tableView
        ui->tableView->setFocus();
        QMessageBox::information(NULL,QObject::tr("Информация"),tr("Не все так плохо..."));
 
}
Далее создана форма класса
Код:
Addnomenklatura::Addnomenklatura(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Addnomenklatura)
На ней есть кнопка pushButton как связать нажатие этой кнопки с выполнением слота на другой форме? А именно слота prostoSlot()
lexflax вне форума Ответить с цитированием
Старый 12.12.2014, 21:48   #2
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию

если на другой форме то скорее всего надо:
public slot:
Вообще мало информации. Где и как у тебя другая форма создается? И где та что у тебя в коде?
Давай код в студию. Где у тебя объекты форм создаются?

А вообще тут ни чего сложного:
нужен указатель на твой pushButton и указатель на виджет который ты описал.
SAMOUCHKA вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вызов конструктора одного класса внутри конструктора другого tolikprankster Помощь студентам 1 04.08.2014 11:42
Доступ к полю класса из другого поля это класса NaumOff Общие вопросы Delphi 10 09.10.2012 08:53
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса Jugger Помощь студентам 3 05.01.2012 03:10
Объект одного класса в конструкторе другого Benderbej PHP 5 13.02.2011 22:48
Изменять приватные свойства одного класса внутри другого TwiX Общие вопросы Delphi 15 10.11.2010 20:40


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840