| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Segmentation fault при наследовании |
| Автор: shifteee 10.5.2010, 11:46 | ||||
| Добрый день! Осваиваю QT4. есть класс-потомок для класса Ui_MainWindow()
Ui_MainWindow() думаю нет смысла приводить. Ошибка возникает при попытке обратиться к методу родителя (выделено жирным)
Ui_MainWindow::comboBox - стандартный класс QComboBox, нарисованный в форме. Подскажите что тут не так с наследованием? И куда копать. Своими силами не осилил |
| Автор: djamshud 10.5.2010, 12:27 |
| Телепаты считают, что setupUi - или как он там называется - не вызван. //На каждый чих базу открывать/закрывать будем? |
| Автор: shifteee 10.5.2010, 14:08 | ||||
Не совсем понял к чему фраза телепаты? Вам что-то не хватает в моем сообщении? Кусок из main.cpp
Программа такова, что по нажатию на кнопку происходит запись в базу и чтение новых данных. И один раз при открытии чтение из нее. |
| Автор: djamshud 10.5.2010, 14:41 | ||
| >Не совсем понял к чему фраза телепаты? К тому, что конструктор TmySlot как не был показан, так и остался. А теперь вообще неразбериху устроили, и как я понял кашу из наследований устроили по незнанию Qt и сами в ней запутались по незнанию с++. Ошибка возникает от того, что в пределах объекта TmySlot ui-шные указатели не инициализированы. В общих чертах:
>Программа такова, что по нажатию на кнопку происходит запись в базу и чтение новых данных. И один раз при открытии чтение из нее. В таких случаях при старте (или первом действии или как-то еще) соединение с базой устанавливается, при завершении программы (или...) - закрывается. |
| Автор: djamshud 10.5.2010, 14:56 |
| Кстати, каков смысл выносить в отдельный объект TmySlot? Почему прямо внутри MainWindow не хранить вектор и не читать базу? |
| Автор: shifteee 10.5.2010, 15:06 | ||||
Вы чертовски правы. Изучение с++ идет параллельно изучению Qt. Спасибо за совет И все же. Думаю что коннект к базе держать не имеет смысла. Особенно если сервер будет на моем компьютере, а программа у нескольких пользователей)
Просто не хотел лезть в код, сгенерированный Qt. 3 раза терял написанное из-за того, что Qt предлагал мне перезагрузить окно т.к. откуда-то из вне оно изменено |
| Автор: djamshud 10.5.2010, 15:14 |
| >Просто не хотел лезть в код, сгенерированный Qt. Эмм... Вы как-то совсем не так используете Qt. В Ui::MainWindow лезть не стоит, а вот свой можно редактировать сколько влезет. Не удивляйтесь потом, если клиенты закликают ваш сервер:). Пожалуйста. |