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


Автор: Acer 28.7.2009, 09:20
Доброго времени суток. Вот скриншоты:
Это в дизайнере:
user posted image

А вот это в запущенном приложении:
user posted image

Не отображаются корректно заголовки столбцов...
вот код из файла ui_****.h
Код

    void retranslateUi(QDialog *DlgPreferencesClass)
    {
        DlgPreferencesClass->setWindowTitle(QApplication::translate("DlgPreferencesClass", "DlgPreferences", 0, QApplication::UnicodeUTF8));
        tabWidget->setTabText(tabWidget->indexOf(tab_main), QApplication::translate("DlgPreferencesClass", "\320\236\321\201\320\275\320\276\320\262\320\275\320\276\320\265", 0, QApplication::UnicodeUTF8));
        QTableWidgetItem *___qtablewidgetitem = tb_buttons->horizontalHeaderItem(0);
        ___qtablewidgetitem->setText(QApplication::translate("DlgPreferencesClass", "\320\230\320\274\321\217", 0, QApplication::UnicodeUTF8));
        QTableWidgetItem *___qtablewidgetitem1 = tb_buttons->horizontalHeaderItem(1);
        ___qtablewidgetitem1->setText(QApplication::translate("DlgPreferencesClass", "ID", 0, QApplication::UnicodeUTF8));
        QTableWidgetItem *___qtablewidgetitem2 = tb_buttons->horizontalHeaderItem(2);
        ___qtablewidgetitem2->setText(QApplication::translate("DlgPreferencesClass", "\320\242\320\270\320\277", 0, QApplication::UnicodeUTF8));
        QTableWidgetItem *___qtablewidgetitem3 = tb_buttons->horizontalHeaderItem(3);
        ___qtablewidgetitem3->setText(QApplication::translate("DlgPreferencesClass", "\320\246\320\262\320\265\321\202", 0, QApplication::UnicodeUTF8));
        QTableWidgetItem *___qtablewidgetitem4 = tb_buttons->horizontalHeaderItem(4);
        ___qtablewidgetitem4->setText(QApplication::translate("DlgPreferencesClass", "\320\237\320\276\320\272\320\260\320\267.", 0, QApplication::UnicodeUTF8));
        bt_add->setText(QString());
        bt_del->setText(QString());
        tabWidget->setTabText(tabWidget->indexOf(tab_buttons), QApplication::translate("DlgPreferencesClass", "\320\232\320\275\320\276\320\277\320\272\320\270", 0, QApplication::UnicodeUTF8));
        QTableWidgetItem *___qtablewidgetitem5 = tb_filters->horizontalHeaderItem(0);
        ___qtablewidgetitem5->setText(QApplication::translate("DlgPreferencesClass", "\320\244\320\270\320\273\321\214\321\202\321\200", 0, QApplication::UnicodeUTF8));


То есть как бы все должно работать, но не работает...

Автор: W4FhLF 28.7.2009, 09:29
А не в юникоде работает? Обычный ASCII. 

Автор: SABROG 28.7.2009, 11:06
Может в делегате где-то косяк? Хотя я не помню влияет ли делегат на заголовок или нет. Приаттач компилируемый пример.

Автор: Acer 28.7.2009, 11:35
Цитата(W4FhLF @ 28.7.2009,  08:29)
А не в юникоде работает? Обычный ASCII.

не работает

Цитата(SABROG @ 28.7.2009,  10:06)
Может в делегате где-то косяк? Хотя я не помню влияет ли делегат на заголовок или нет. Приаттач компилируемый пример.

Цитата

#qmake
#make

Нужная таблица находится в файле DlgPreferences.cpp
Я скинул весь проект. Он небольшой...

Автор: SABROG 28.7.2009, 14:10
Проблема в методе, который ты используешь для очистки таблицы:

Код

_ui.tb_buttons->clear();


Он затирает и хедеры тоже. Используй метод clearContents():

Код

_ui.tb_buttons->clearContents();

Автор: Acer 28.7.2009, 23:18
SABROG, спасибо большое.

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