crossplatform.ru

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

3 страниц V   1 2 3 >  
Ответить в данную темуНачать новую тему
> добавить ряд, столбец в таблицу
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.


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 26.8.2010, 22:56
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


tbl.insertRow(int);
tbl.insertColumn(int);

tbl.setHorizontalHeaderItem(int, new QTableWidgetItem(tr("name")));
tbl.setVerticalHeaderItem(int, new QTableWidgetItem(tr("name")));

это для названий

Сообщение отредактировал RazrFalcon - 26.8.2010, 22:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 26.8.2010, 23:25
Сообщение #3


Студент
*

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

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




Репутация:   0  


Спасибо ;)
Не знал еще, что можно сразу в аргумент функции записывать new QTableWidgetItem без его объявления.
А что такое tr ?
А то у меня с ним не компиллировалось.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 26.8.2010, 23:59
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Цитата(kvak @ 26.8.2010, 23:25) *
А что такое tr ?

translate(перевод), ну это для QT Creator, я так понял вы на VS, там это вряд ли нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 27.8.2010, 0:21
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

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




Репутация:   5  


а чей это tr() только для Креатора то стал? О_о

в данном контексте делай QObject::tr(..)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 27.8.2010, 19:41
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Цитата(kvak @ 27.8.2010, 3:25) *
в аргумент функции записывать new QTableWidgetItem без его объявления.
оператор new возвращает указатель, полистай книжки по Си++.

и таки ufna хороший вопрос задал, насчёт tr(), следует про этот tr() почитать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 28.8.2010, 16:27
Сообщение #7


Студент
*

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

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




Репутация:   0  


Интересует еще одна вещь. Как в созданной таблице задать высоту ряда и ширину определенной колонки. В самом классе QTableWidget таких методов нет. Подскажите, кто знает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 28.8.2010, 19:07
Сообщение #8


Студент
*

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

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




Репутация:   0  


И еще такой вопросик. Почему у меня после компиляции не открывается программа. Это из-за того, что я пытаюсь вставить в таблицу виджет. Не понимаю в чем ошибка.

#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.insertRow(3);
    tbl.setVerticalHeaderItem(3, new QTableWidgetItem("Fourth"));
    

   QComboBox *bbb;                                 // из-за этого не открывается программа, хотя      
   tbl.setCellWidget(3, 2, bbb);                   // компилируется                  

    
    tbl.resize(350, 125);
    tbl.show();

    return app.exec();
}


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 28.8.2010, 19:21
Сообщение #9


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


Цитата
QComboBox *bbb; // из-за этого не открывается программа, хотя
tbl.setCellWidget(3, 2, bbb); // компилируется


знаешь про Буратино и яблоки ? :)

Цитата
Буратино дали три яблока. Два он съел. Сколько яблок осталось у Буратино? Думаете одно? Ничего подобного. Никто не знает сколько у него уже было яблок до этого. Мораль: всегда инициализируй переменные!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 28.8.2010, 19:55
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

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




Репутация:   5  


Про яблоки - супер. Не знал загадку такую :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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