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.


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V  < 1 2 3 >  
Начать новую тему
Ответов (10 - 19)
kvak
  опции профиля:
сообщение 28.8.2010, 20:10
Сообщение #11


Студент
*

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

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




Репутация:   0  


Так в чем ошибка-то ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 28.8.2010, 20:35
Сообщение #12


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

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

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




Репутация:   34  


kvak, ты объявляешь указатель

QComboBox *bbb;


то, что ты забыл создать сам указуемый объект (или хотел не сейчас) - так обнули хотя бы указатель

Цитата
QComboBox *bbb=0;


а если хочешь создать, то создавай
Цитата
QComboBox *bbb=new QComboBox(this);


Думал, после намёка всё станет понятно ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 28.8.2010, 22:22
Сообщение #13


Студент
*

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

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




Репутация:   0  


Да блин. Забыл, что указатель никуда не указывающий ничего не дает. Я просто очень редко программирую под свои нужды. Вот счас понадобились таблицы. А не вкурсе как все-таки установить фиксированную высоту ряда и ширину колонки ? Может быть как-то через методы класса QTableView. Но как ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 28.8.2010, 22:29
Сообщение #14


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

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

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




Репутация:   34  


в справке есть
Цитата
void QTableView::setColumnWidth ( int column, int width )
Sets the width of the given column to be width.
This function was introduced in Qt 4.1.
See also columnWidth().


void QTableView::setRowHeight ( int row, int height )
Sets the height of the given row to be height.
This function was introduced in Qt 4.1.
See also rowHeight().

сам я не пробовал :) Но врать вряд ли будут
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 29.8.2010, 11:57
Сообщение #15


Студент
*

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

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




Репутация:   0  


Да. Но у меня класс то QTableWidget. Я догадываюсь, что можно использовать методы класса QTableView, но как именно не знаю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 29.8.2010, 12:11
Сообщение #16


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

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

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




Репутация:   34  


Цитата
Inherits QTableView.

да так же, как и обычно

QTableWidget p* =new QTableWidget(...);
p->setColumnWidth (...);



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 29.8.2010, 12:39
Сообщение #17


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

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

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




Репутация:   94  


Цитата(kvak @ 29.8.2010, 15:57) *
Я догадываюсь, что можно использовать методы класса QTableView, но как именно не знаю.
методы базового класса наследуются дочерним классом, т.е. как бы "становятся методами дочернего".
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 29.8.2010, 20:46
Сообщение #18


Студент
*

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

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




Репутация:   0  


Классно :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 30.8.2010, 21:23
Сообщение #19


Студент
*

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

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




Репутация:   0  


Появился еше один вопрос. Много пробовал, но не смог понять.

connect(TAB, SIGNAL(itemDoubleClicked(myitem)), this, SLOT(OPEN_PRODUCT()));


TAB - это моя таблица, объект класса QTableWidget
OPEN_PRODUCT() - мой слот

Требуется, чтобы myitem указывал на ячейку с координатами (0,0) , чтобы при двойном клике по ней вызывался мой слот. Не получается это сделать. Если кто знает как, подскажите пожалуйста.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 30.8.2010, 21:57
Сообщение #20


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

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

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




Репутация:   5  


Цитата
connect(TAB, SIGNAL(itemDoubleClicked(myitem)), this, SLOT(OPEN_PRODUCT()));

Во первых вместо myitem должен стоять тип, во вторых в слоте от тоже должен быть указан. А вообще просто с помощью emit вызывай свой сигнал и все.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.6.2025, 16:01