crossplatform.ru

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

> добавить ряд, столбец в таблицу
kvak
  опции профиля:
сообщение 26.8.2010, 20:37
Сообщение #1


Студент
*

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

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




Репутация:   0  


Здравствуйте. Имеется таблица (с ней все понятно) из книги по qt.

#include <QtGui>

// ----------------------------------------------------------------------
int main(int argc, char** argv)
{
    const int n = 3;

    QApplication      app(argc, argv);
    QTableWidget      tbl(n, n);
    QTableWidgetItem* ptwi = 0;
    QStringList       lst;

    lst << "First" << "Second" << "Third";
    tbl.setHorizontalHeaderLabels(lst);
    tbl.setVerticalHeaderLabels(lst);

    for (int i  = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
            ptwi = new QTableWidgetItem(QString("%1,%2").arg(i).arg(j));
            tbl.setItem(i, j, ptwi);
        }
    }
    tbl.resize(350, 125);
    tbl.show();

    return app.exec();
}


Подскажите, как мне добавить новый ряд в эту таблицу, с заголовком (имеется ввиду заголовок, который делался методом setHorizontalHeaderLabels.


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
molchanoviv
  опции профиля:
сообщение 1.9.2010, 10:28
Сообщение #2


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

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




Репутация:   5  


Цитата(kvak @ 31.8.2010, 21:19) *
connect(TAB, SIGNAL(itemDoubleClicked(QTableWidgetItem *)), SLOT(OPEN_PRODUCT()));


Не совсем так. правильно писать connect(TAB, SIGNAL(itemDoubleClicked(QTableWidgetItem *)), SLOT(OPEN_PRODUCT(QTableWidgetItem *)));

Цитата(kvak @ 31.8.2010, 21:19) *
Осталось только понять, можно ли сделать так, чтобы сигнал высылался, когда кликаешь по только по определенной колонке.


Ну так обрабатывай нажатия вручную и если клик произошел по той колонке с помощью emit вызывай свой сигнал. Т.Е. в *.h файле опиши свой сигнал. signals: void mySignal(QTableWidgetItem *), затем в *.cpp соединяй свой сигнал со слотом OPEN_PRODUCT(QTableWidgetItem *) а сигнал itemDoubleClicked со слотом в котором ты вяснишь туда ли произошел клик и если да, то вызывай сигнал с помощью emit mySignal(QTableWidgetItem *). Код не пишу намеренно, чтобы ты мог разобраться сам.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 1.9.2010, 22:33
Сообщение #3


Студент
*

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

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




Репутация:   0  


Спасибо, я уже понял про сигнал. А чтобы обрабатывать сигналы только с нужной колонки я воспользовался встроенными методами.

connect(TAB, SIGNAL(itemDoubleClicked(QTableWidgetItem *)), SLOT(OPEN_PRODUCT(QTableWidgetItem *)));

OPEN_PRODUCT(QTableWidgetItem *checkitem) {

int colonna = checkitem->column();
if(colonna == 0){
//нужный код
}
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- kvak   добавить ряд, столбец в таблицу   26.8.2010, 20:37
- - RazrFalcon   tbl.insertRow(int); tbl.insertColumn(i...   26.8.2010, 22:56
- - kvak   Спасибо Не знал еще, что можно сразу в аргумент...   26.8.2010, 23:25
|- - RazrFalcon   Цитата(kvak @ 26.8.2010, 23:25) А что так...   26.8.2010, 23:59
- - ufna   а чей это tr() только для Креатора то стал? О_о в...   27.8.2010, 0:21
- - Litkevich Yuriy   Цитата(kvak @ 27.8.2010, 3:25) в аргумент...   27.8.2010, 19:41
|- - kvak   Интересует еще одна вещь. Как в созданной таблице ...   28.8.2010, 16:27
- - kvak   И еще такой вопросик. Почему у меня после компиля...   28.8.2010, 19:07
- - Алексей1153   ЦитатаQComboBox *bbb; ...   28.8.2010, 19:21
- - ufna   Про яблоки - супер. Не знал загадку такую   28.8.2010, 19:55
- - kvak   Так в чем ошибка-то ?   28.8.2010, 20:10
- - Алексей1153   kvak, ты объявляешь указатель QComboBox *bbb; то...   28.8.2010, 20:35
- - kvak   Да блин. Забыл, что указатель никуда не указывающи...   28.8.2010, 22:22
- - Алексей1153   в справке есть Цитатаvoid QTableView::setColumnWid...   28.8.2010, 22:29
|- - kvak   Да. Но у меня класс то QTableWidget. Я догадываюсь...   29.8.2010, 11:57
- - Алексей1153   ЦитатаInherits QTableView. да так же, как и обычно...   29.8.2010, 12:11
- - Litkevich Yuriy   Цитата(kvak @ 29.8.2010, 15:57) Я догадыв...   29.8.2010, 12:39
- - kvak   Классно   29.8.2010, 20:46
- - kvak   Появился еше один вопрос. Много пробовал, но не см...   30.8.2010, 21:23
- - molchanoviv   Цитатаconnect(TAB, SIGNAL(itemDoubleClicked(myitem...   30.8.2010, 21:57
|- - kvak   Цитата(molchanoviv @ 30.8.2010, 22:57) Ци...   30.8.2010, 23:27
- - kvak   Все, понял как. Вот так сигнал высылается и слот о...   31.8.2010, 20:19
- - molchanoviv   Цитата(kvak @ 31.8.2010, 21:19) connect(T...   1.9.2010, 10:28
- - kvak   Спасибо, я уже понял про сигнал. А чтобы обрабатыв...   1.9.2010, 22:33


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


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




RSS Текстовая версия Сейчас: 25.11.2024, 20:57