Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT4] Связываение SpinButton и TableWidget


Автор: devmstr 9.11.2007, 13:30
Есть компонент SpinButton и TableWidget. Цель связать их так что бы изменение значения SpinButton изменяла количество ячеек 
К моему удивлению подобный код оказался некорректным.
Код

QObject::connect(ui.sbColCount, SIGNAL(valueChanged(int)), ui.twLab, SLOT(setRowCount(int)));

Посмотрев исходный код я заметил что setRowCount не в секции сигналов.
Проблему решило добавление в свой класс своего слота:

Код

private slots:
    void setTableRow(int nRow);
....

void MyClass::setTableRow(int nRow)
{
    ui.twLab->setRowCount(nRow);
}

QObject::connect(ui.sbColCount, SIGNAL(valueChanged(int)), this, SLOT(setTableRow(int)));



Не могли бы вы мне сказать, существует ли более элегантное решение данной проблемы?

Автор: JackYF 9.11.2007, 23:43
Цитата(devmstr @  9.11.2007,  13:30 Найти цитируемый пост)
Не могли бы вы мне сказать, существует ли более элегантное решение данной проблемы? 

Я бы сказал, что нет... но это не факт, ждём более опытных людей.

Автор: powerfox 10.11.2007, 01:13
Код

void insertColumn ( int column )
void insertRow ( int row )
void removeColumn ( int column )
void removeRow ( int row )

По идее, другие методы и не нужны.

Автор: devmstr 14.11.2007, 09:02
powerfox, 
Да, действительно, этими методами можно и ограничится.
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)