Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254

SIGSEGV при получении текста QListWidgetItem

12.10.2013, 00:18. Показов 685. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "mainwindow.h"
#include <QStyle>
#include <QMessageBox>
#include <QList>
 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    view = new QListWidget (this);
    this->setCentralWidget(view);
    VFile f;
    f.id=0;
    f.isFolder=true;
    f.name="/";
    f.parent=0;
    f.text="";
    files.insert(0, f);
    f.id=1;
    f.isFolder=true;
    f.name="folder";
    f.parent=0;
    f.text="";
    files.insert(1, f);
    f.id=2;
    f.isFolder=false;
    f.parent=0;
    f.name="file";
    f.text="Hello, world!";
    files.insert(2, f);
    f.id=3;
    f.isFolder=false;
    f.parent=1;
    f.name="file";
    f.text="Hi!";
    files.insert(3, f);
    now = files[0];
    connect (view, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(cd()));
    toList();
}
void MainWindow::toList()
{
    view->clear();
    int counter = 1;
    QListWidgetItem *item = new QListWidgetItem;
    item->setText("..");
    item->setIcon(style()->standardIcon(QStyle::SP_DirIcon));
    view->insertItem(0, item);
    for (int i = 0; i < files.count(); i++)
    {
        if (files[i].parent == now.id && files[i].id != now.id)
        {
            item = new QListWidgetItem;
            if (files[i].isFolder) item->setIcon(style()->standardIcon(QStyle::SP_DirIcon));
            else item->setIcon(style()->standardIcon(QStyle::SP_FileIcon));
            item->setText(files[i].name);
            view->insertItem(counter, item);
            counter++;
        }
    }
}
void MainWindow::cd()
{
    QString selected = view->currentItem()->text();
    if (selected=="..")
    {
        now = files [now.parent];
        return;
    }
    for (int i = 0; i < files.count(); i++)
    {
        if (files[i].parent == now.id && files[i].text == selected) now = files[i];
    }
    toList();
}
Отладчик показывает, сто падает на строке 63, в стеке вызовов последняя функция text(). SIGSEGV. Почему?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2013, 00:18
Ответы с готовыми решениями:

Shared_ptr<QListWidgetItem> vs QListWidgetItem*
Добрый день. Не могу разобраться, что я делаю не так: хочу поместить в QListWidget два объекта типа QListWidgetItem. Создаются оба...

Ошибка при получении текста из CEdit
Пишу программу на MFC. Создал переменную m_wareRemainderEdit для контрола CEdit, расположенного на диалоге. При получении текста из...

Ошибка при получении текста из Edit-а другой программы
procedure TForm1.Button1Click(Sender: TObject); var h:hwnd; s:PChar; begin ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.10.2013, 00:18
Помогаю со студенческими работами здесь

При получении текста из буфера обмена не распознаются русские символы
текст из буфера обмена получаю таким образом: char* buffer; if(OpenClipboard(NULL))//открываем буфер обмена { HANDLE hData =...

Плавное изменение текста столбца таблицы при получении новых значений
Допустим есть массив { items: } Данные грузятьс и выводятся в рендере через map - всё ништяк, но мне нужно что...

Неверная кодировка текста в компонентах формы при получении почты через IdPOP3
Задача состоит в том, что бы написать некое подобие почтового клиента, который только загружает письма через через POP3 - протокол и...

Зацикливание при получении получении сообщения от клиента
Доброго времени суток! Уже выбился из сил... Суть моей проблемы в следующем. Реализую клиент-серверное приложение на сокетах. Сервер...

SIGSEGV при закрытии программы
Суть в том, что при закрытии программы вылетает ошибка External: SIGSEGV. Такое появляется только тогда, когда вызываю процедуру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru