crossplatform.ru

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


  Ответ в не работает clicked в QAbstractItemView
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 12.2.2011, 12:40
 
Цитата(light @ 12.2.2011, 13:08) *
плохо что ошибки то не выдавало
это ошибка обнаруживается метаобъектной системой. Добавь в pro-файл строчку
CONFIG += console

тогда при запущенном приложении появится консоль, в которую метообъектная система Qt будет печатать сообщения об ошибке.
light Дата 12.2.2011, 11:08
  упс извиняюсь , ошибся в имени функции tableViewClicked

плохо что ошибки то не выдавало
light Дата 11.2.2011, 20:16
  не срабатывает сигнал clicked у QAbstractItemView.
Судя по Qt assistant правильно использую, но ни у tableView ни у ListView не срабатывает, вот программа с ListView

test.h
#ifndef TEST_H
#define TEST_H

#include <QtGui/QMainWindow>
#include "ui_test.h"
#include <qstandarditemmodel.h>

class test : public QMainWindow {
    Q_OBJECT

    public:
        test(QWidget *parent = 0);
        ~test();
        QStandardItemModel *tableViewModel;
    public slots:
        void tableViewClicked(const QModelIndex & indexS);

    private:
        Ui::testClass ui;
};

#endif // TEST_H


test.cpp
#include "test.h"
#include <qmessagebox.h>

test::test(QWidget *parent) :
    QMainWindow(parent){
    ui.setupUi(this);
    tableViewModel = new QStandardItemModel();
    ui.listView->setModel(tableViewModel);
    tableViewModel->appendRow(new QStandardItem("one row"));
    tableViewModel->appendRow(new QStandardItem("two row"));
    connect(ui.listView, SIGNAL(clicked(const QModelIndex &)),this,
            SLOT(tableViewClick(const QModelIndex &)));


}
void test::tableViewClicked(const QModelIndex &indexS){
    QString searchIndex = tableViewModel->itemFromIndex(
            ui.listView->selectionModel()->selectedIndexes().at(0))->text();
    QMessageBox::warning(this, "AAAAAAAAAA", searchIndex, 0, 0, 0);
}
test::~test(){

}


Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.10.2021, 20:23