crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Передача параметров в слот!
rezor
  опции профиля:
сообщение 27.7.2010, 18:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 1.4.2009
Пользователь №: 655

Спасибо сказали: 1 раз(а)




Репутация:   0  


Есть два класса

class QFrame_WWW : public QFrame
{
                Q_OBJECT
        public:              

                QFrame_WWW *messAdd_www;   //Форма добавления ссылки
                QFrame_WWW *categoryAdd;  // Форма добавления категории
                QLineEdit *linkWWW;


  
        private slots:
                void appendixWWW( QStandardItem *parentItem);


};

class MainWindow : public QMainWindow {
    Q_OBJECT
public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
QStandardItemModel *model;
QStandardItem *parentItem;
protected:
    void changeEvent(QEvent *e);


private:
    Ui::MainWindow *ui;

    QPushButton *addCategory;
    QPushButton *closeCategory;
    QPushButton *addButton;
    QPushButton *closeButton;

    QLineEdit *nameCategory;




private slots:
    void on_tabWidget_currentChanged(QWidget* );
    void on_pushButton_2_clicked();
    void on_pushButton_clicked();
    void addInFile();
    void readFile(const QDomNode& );
    void appendixCategory();
    void addChild(const QItemSelection&,const QItemSelection&);


};

И второй класс MainWindow где определен QStandardItem *parentItem как его передать в void appendixWWW( QStandardItem *parentItem)
который определен в class QFrame_WWW .
Прямое использование MainWindow().parentItem вызывает экстренное завершение программы.
Может переопределить сигнал clicked(), как поступить??
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kibsoft
  опции профиля:
сообщение 28.7.2010, 16:48
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


private slots:
                void appendixWWW( QStandardItem *parentItem);

Сделай слот пабликом и передавай туда свой item, либо через сигналы, либо прямым вызовом слота.
В MainWindow помести указатель на объект класса QFrame_WWW и через него будешь вызывать слот.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
rezor
  опции профиля:
сообщение 28.7.2010, 18:04
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 1.4.2009
Пользователь №: 655

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(kibsoft @ 28.7.2010, 17:48) *
private slots:
                void appendixWWW( QStandardItem *parentItem);

Сделай слот пабликом и передавай туда свой item, либо через сигналы, либо прямым вызовом слота.
В MainWindow помести указатель на объект класса QFrame_WWW и через него будешь вызывать слот.

Все спасибо тупанул не надо было переопределять класс.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2024, 1:37