crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Не понятно, из-за чего ошибка, Segmentation fault
QMainWindow
  опции профиля:
сообщение 1.8.2011, 12:02
Сообщение #1


Участник
**

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

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




Репутация:   0  


Добрый день!
При выполнении программы (в режиме отладки) вылезает непонятная ошибка: Segmentation fault. Отладчик указывает на эту инструкцию: ui->FirstNameEdit->setText(data.value(i));
ui - мой диалог, построенный по шаблону Qt. Вот описание:
Раскрывающийся текст
#ifndef FILEINFODIALOG_H
#define FILEINFODIALOG_H

#include <QDialog>

namespace Ui
{
    class FileInfoDialog;
}

class FileInfoDialog : public QDialog
{
    Q_OBJECT
public:
    explicit FileInfoDialog(QWidget *parent = 0);
    ~FileInfoDialog();
    void getFileInfo(QVector<QString> &tags, QVector<QString> data);
private:
    Ui::FileInfoDialog *ui;

signals:

public slots:

};

#endif // FILEINFODIALOG_H
ui::FirstNameEdit - экземпляр QLineEdit.Определил его в дизайнере соответственно. Вызывается здесь:
Раскрывающийся текст
void FileInfoDialog::getFileInfo(QVector<QString> &tags, QVector<QString> data)
{
    int i = 0;
    for(int i=0; i<data.count(); i++)
    {
    qDebug()<<tags.value(i)<<data.value(i);
    }
    if(tags.value(i) == "first-name")
    {
    ui->FirstNameEdit->setText(data.value(i));
    i++;
    }
...
}
Поэкспериментировав, обнаружил, что такая же ошибка появляется, если использовать любой метод из FirstNameEdit (т.е. любой метод QLineEdit). Не пойму в чем дело...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 1.8.2011, 13:02
Сообщение #2


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


При выходе из цикла, i равно data.count(), то есть if(tags.value(i) == "first-name") приводит к падению.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 1.8.2011, 13:56
Сообщение #3


Участник
**

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

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




Репутация:   0  


Не, не в этом дело. Я ж говорю, что какой бы метод из FirstNameEdit ни использовал (ui->FirstNameEdit->geometry(); ui->FirstNameEdit->hasFocus(); ui->FirstNameEdit->text(); да любой), получается такая ошибка.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 1.8.2011, 15:08
Сообщение #4


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

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

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




Репутация:   12  


Цитата(QMainWindow @ 1.8.2011, 14:56) *
Не, не в этом дело. Я ж говорю, что какой бы метод из FirstNameEdit ни использовал (ui->FirstNameEdit->geometry(); ui->FirstNameEdit->hasFocus(); ui->FirstNameEdit->text(); да любой), получается такая ошибка.

код сгенерированный по ui-файлу в студию и заодно код где создается объект FileInfoDialog::ui тоже

Сообщение отредактировал wiz29 - 1.8.2011, 15:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 1.8.2011, 15:21
Сообщение #5


Участник
**

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

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




Репутация:   0  


Вот все:
FileInfoDialog.cpp
Раскрывающийся текст
#include "FileInfoDialog.h"
#include "ui_FileInfoDialog.h"
#include <QDebug>

FileInfoDialog::FileInfoDialog(QWidget *parent) : QDialog(parent), ui(new Ui::FileInfoDialog)
{
    ui->setupUi(this);
}

FileInfoDialog::~FileInfoDialog()
{
    delete ui;
}

void FileInfoDialog::getFileInfo(QVector<QString> &tags, QVector<QString> data)
{
    int i = 0;
    qDebug()<<ui->FirstNameEdit->geometry(); //Даже этот код вызывает ошибку...
    if(tags.value(i) == "first-name")
    {
    ui->FirstNameEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "middle-name")
    {
    ui->MiddleNameEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "last-name")
    {
    ui->LastNameEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "nickname")
    {
    ui->NickNameEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "home-page")
    {
    ui->WebPageEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "email")
    {
    ui->EmailEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "program-used")
    {
    ui->ProgUsedEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "date")
    {
    ui->DateEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "src-url")
    {
    ui->SRCURLEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "src-ocr")
    {
    ui->SRCOCREdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "id")
    {
    ui->IdEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "version")
    {
    ui->VersionEdit->setText(data.value(i));
    i++;
    }
    if(tags.value(i) == "p")
    {
    ui->HistoryTE->insertPlainText(data.value(i) + "\n");
    i++;
    }
    qDebug("end");
}


FileInfoDialog.h
Раскрывающийся текст
#ifndef FILEINFODIALOG_H
#define FILEINFODIALOG_H

#include <QDialog>

namespace Ui
{
    class FileInfoDialog;
}

class FileInfoDialog : public QDialog
{
    Q_OBJECT
public:
    explicit FileInfoDialog(QWidget *parent = 0);
    ~FileInfoDialog();
    void getFileInfo(QVector<QString> &tags, QVector<QString> data);
private:
    Ui::FileInfoDialog *ui;

signals:

public slots:

};

#endif // FILEINFODIALOG_H

FileInfoDialog.ui
Раскрывающийся текст
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FileInfoDialog</class>
<widget class="QDialog" name="FileInfoDialog">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>491</width>
    <height>351</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Свойства документа</string>
  </property>
  <layout class="QGridLayout" name="gridLayout_4">
   <item row="0" column="0">
    <widget class="QGroupBox" name="AuthersGB">
     <property name="minimumSize">
      <size>
       <width>220</width>
       <height>183</height>
      </size>
     </property>
     <property name="title">
      <string>Автор</string>
     </property>
     <layout class="QGridLayout" name="gridLayout">
      <item row="0" column="0">
       <widget class="QLabel" name="FirstNameLabel">
        <property name="text">
         <string>Имя:</string>
        </property>
        <property name="buddy">
         <cstring>FirstNameEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="0" column="1">
       <widget class="QLineEdit" name="FirstNameEdit">
        <property name="minimumSize">
         <size>
          <width>141</width>
          <height>20</height>
         </size>
        </property>
        <property name="readOnly">
         <bool>false</bool>
        </property>
       </widget>
      </item>
      <item row="1" column="0">
       <widget class="QLabel" name="MiddleNameLabel">
        <property name="text">
         <string>Отчество:</string>
        </property>
        <property name="buddy">
         <cstring>MiddleNameEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="1" column="1">
       <widget class="QLineEdit" name="MiddleNameEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="2" column="0">
       <widget class="QLabel" name="LastNameLabel">
        <property name="text">
         <string>Фамилия:</string>
        </property>
        <property name="buddy">
         <cstring>LastNameEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="2" column="1">
       <widget class="QLineEdit" name="LastNameEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="3" column="0">
       <widget class="QLabel" name="NickNameLabel">
        <property name="text">
         <string>Ник:</string>
        </property>
        <property name="buddy">
         <cstring>NickNameEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="3" column="1">
       <widget class="QLineEdit" name="NickNameEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="4" column="0">
       <widget class="QLabel" name="WebPageLabel">
        <property name="text">
         <string>Вебсайт:</string>
        </property>
        <property name="buddy">
         <cstring>WebPageEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="4" column="1">
       <widget class="QLineEdit" name="WebPageEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="5" column="0">
       <widget class="QLabel" name="EmailLabel">
        <property name="text">
         <string>Email:</string>
        </property>
        <property name="buddy">
         <cstring>EmailEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="5" column="1">
       <widget class="QLineEdit" name="EmailEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
     </layout>
    </widget>
   </item>
   <item row="0" column="1" colspan="2">
    <widget class="QGroupBox" name="FB2doc">
     <property name="title">
      <string>Документ FB2</string>
     </property>
     <layout class="QGridLayout" name="gridLayout_3">
      <item row="0" column="0">
       <widget class="QLabel" name="ProgUsedLabel">
        <property name="text">
         <string>Редактор FB2:</string>
        </property>
        <property name="buddy">
         <cstring>ProgUsedEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="0" column="1">
       <widget class="QLineEdit" name="ProgUsedEdit">
        <property name="minimumSize">
         <size>
          <width>141</width>
          <height>0</height>
         </size>
        </property>
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="1" column="0">
       <widget class="QLabel" name="DateLabel">
        <property name="text">
         <string>Дата создания:</string>
        </property>
        <property name="buddy">
         <cstring>DateEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="1" column="1">
       <widget class="QLineEdit" name="DateEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="2" column="0">
       <widget class="QLabel" name="SRCOCRLabel">
        <property name="text">
         <string>Источник OCR:</string>
        </property>
        <property name="buddy">
         <cstring>SRCOCREdit</cstring>
        </property>
       </widget>
      </item>
      <item row="2" column="1">
       <widget class="QLineEdit" name="SRCOCREdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="3" column="0">
       <widget class="QLabel" name="SRCURLLabel">
        <property name="text">
         <string>Источник URL:</string>
        </property>
        <property name="buddy">
         <cstring>SRCURLEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="3" column="1">
       <widget class="QLineEdit" name="SRCURLEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="4" column="0">
       <widget class="QLabel" name="IdLabel">
        <property name="text">
         <string>ID:</string>
        </property>
        <property name="buddy">
         <cstring>IdEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="4" column="1">
       <widget class="QLineEdit" name="IdEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
      <item row="5" column="0">
       <widget class="QLabel" name="VersionLabel">
        <property name="text">
         <string>Версия:</string>
        </property>
        <property name="buddy">
         <cstring>VersionEdit</cstring>
        </property>
       </widget>
      </item>
      <item row="5" column="1">
       <widget class="QLineEdit" name="VersionEdit">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
     </layout>
    </widget>
   </item>
   <item row="1" column="0" colspan="3">
    <widget class="QGroupBox" name="HistoryGB">
     <property name="title">
      <string>История изменений</string>
     </property>
     <layout class="QGridLayout" name="gridLayout_2">
      <item row="0" column="0">
       <widget class="QTextEdit" name="HistoryTE">
        <property name="readOnly">
         <bool>true</bool>
        </property>
       </widget>
      </item>
     </layout>
    </widget>
   </item>
   <item row="2" column="0" colspan="2">
    <spacer name="horizontalSpacer">
     <property name="orientation">
      <enum>Qt::Horizontal</enum>
     </property>
     <property name="sizeHint" stdset="0">
      <size>
       <width>344</width>
       <height>20</height>
      </size>
     </property>
    </spacer>
   </item>
   <item row="2" column="2">
    <widget class="QPushButton" name="OKButton">
     <property name="text">
      <string>OK</string>
     </property>
    </widget>
   </item>
  </layout>
</widget>
<resources/>
<connections>
  <connection>
   <sender>OKButton</sender>
   <signal>clicked()</signal>
   <receiver>FileInfoDialog</receiver>
   <slot>close()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>497</x>
     <y>381</y>
    </hint>
    <hint type="destinationlabel">
     <x>324</x>
     <y>209</y>
    </hint>
   </hints>
  </connection>
</connections>
</ui>

И его код:
Раскрывающийся текст
/********************************************************************************
** Form generated from reading UI file 'FileInfoDialog.ui'
**
** Created: Mon 1. Aug 12:29:40 2011
**      by: Qt User Interface Compiler version 4.8.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_FILEINFODIALOG_H
#define UI_FILEINFODIALOG_H

#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QDialog>
#include <QtGui/QGridLayout>
#include <QtGui/QGroupBox>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QPushButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QTextEdit>

QT_BEGIN_NAMESPACE

class Ui_FileInfoDialog
{
public:
    QGridLayout *gridLayout_4;
    QGroupBox *AuthersGB;
    QGridLayout *gridLayout;
    QLabel *FirstNameLabel;
    QLineEdit *FirstNameEdit;
    QLabel *MiddleNameLabel;
    QLineEdit *MiddleNameEdit;
    QLabel *LastNameLabel;
    QLineEdit *LastNameEdit;
    QLabel *NickNameLabel;
    QLineEdit *NickNameEdit;
    QLabel *WebPageLabel;
    QLineEdit *WebPageEdit;
    QLabel *EmailLabel;
    QLineEdit *EmailEdit;
    QGroupBox *FB2doc;
    QGridLayout *gridLayout_3;
    QLabel *ProgUsedLabel;
    QLineEdit *ProgUsedEdit;
    QLabel *DateLabel;
    QLineEdit *DateEdit;
    QLabel *SRCOCRLabel;
    QLineEdit *SRCOCREdit;
    QLabel *SRCURLLabel;
    QLineEdit *SRCURLEdit;
    QLabel *IdLabel;
    QLineEdit *IdEdit;
    QLabel *VersionLabel;
    QLineEdit *VersionEdit;
    QGroupBox *HistoryGB;
    QGridLayout *gridLayout_2;
    QTextEdit *HistoryTE;
    QSpacerItem *horizontalSpacer;
    QPushButton *OKButton;

    void setupUi(QDialog *FileInfoDialog)
    {
        if (FileInfoDialog->objectName().isEmpty())
            FileInfoDialog->setObjectName(QString::fromUtf8("FileInfoDialog"));
        FileInfoDialog->resize(491, 351);
        gridLayout_4 = new QGridLayout(FileInfoDialog);
        gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
        AuthersGB = new QGroupBox(FileInfoDialog);
        AuthersGB->setObjectName(QString::fromUtf8("AuthersGB"));
        AuthersGB->setMinimumSize(QSize(220, 183));
        gridLayout = new QGridLayout(AuthersGB);
        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
        FirstNameLabel = new QLabel(AuthersGB);
        FirstNameLabel->setObjectName(QString::fromUtf8("FirstNameLabel"));

        gridLayout->addWidget(FirstNameLabel, 0, 0, 1, 1);

        FirstNameEdit = new QLineEdit(AuthersGB);
        FirstNameEdit->setObjectName(QString::fromUtf8("FirstNameEdit"));
        FirstNameEdit->setMinimumSize(QSize(141, 20));
        FirstNameEdit->setReadOnly(false);

        gridLayout->addWidget(FirstNameEdit, 0, 1, 1, 1);

        MiddleNameLabel = new QLabel(AuthersGB);
        MiddleNameLabel->setObjectName(QString::fromUtf8("MiddleNameLabel"));

        gridLayout->addWidget(MiddleNameLabel, 1, 0, 1, 1);

        MiddleNameEdit = new QLineEdit(AuthersGB);
        MiddleNameEdit->setObjectName(QString::fromUtf8("MiddleNameEdit"));
        MiddleNameEdit->setReadOnly(true);

        gridLayout->addWidget(MiddleNameEdit, 1, 1, 1, 1);

        LastNameLabel = new QLabel(AuthersGB);
        LastNameLabel->setObjectName(QString::fromUtf8("LastNameLabel"));

        gridLayout->addWidget(LastNameLabel, 2, 0, 1, 1);

        LastNameEdit = new QLineEdit(AuthersGB);
        LastNameEdit->setObjectName(QString::fromUtf8("LastNameEdit"));
        LastNameEdit->setReadOnly(true);

        gridLayout->addWidget(LastNameEdit, 2, 1, 1, 1);

        NickNameLabel = new QLabel(AuthersGB);
        NickNameLabel->setObjectName(QString::fromUtf8("NickNameLabel"));

        gridLayout->addWidget(NickNameLabel, 3, 0, 1, 1);

        NickNameEdit = new QLineEdit(AuthersGB);
        NickNameEdit->setObjectName(QString::fromUtf8("NickNameEdit"));
        NickNameEdit->setReadOnly(true);

        gridLayout->addWidget(NickNameEdit, 3, 1, 1, 1);

        WebPageLabel = new QLabel(AuthersGB);
        WebPageLabel->setObjectName(QString::fromUtf8("WebPageLabel"));

        gridLayout->addWidget(WebPageLabel, 4, 0, 1, 1);

        WebPageEdit = new QLineEdit(AuthersGB);
        WebPageEdit->setObjectName(QString::fromUtf8("WebPageEdit"));
        WebPageEdit->setReadOnly(true);

        gridLayout->addWidget(WebPageEdit, 4, 1, 1, 1);

        EmailLabel = new QLabel(AuthersGB);
        EmailLabel->setObjectName(QString::fromUtf8("EmailLabel"));

        gridLayout->addWidget(EmailLabel, 5, 0, 1, 1);

        EmailEdit = new QLineEdit(AuthersGB);
        EmailEdit->setObjectName(QString::fromUtf8("EmailEdit"));
        EmailEdit->setReadOnly(true);

        gridLayout->addWidget(EmailEdit, 5, 1, 1, 1);


        gridLayout_4->addWidget(AuthersGB, 0, 0, 1, 1);

        FB2doc = new QGroupBox(FileInfoDialog);
        FB2doc->setObjectName(QString::fromUtf8("FB2doc"));
        gridLayout_3 = new QGridLayout(FB2doc);
        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
        ProgUsedLabel = new QLabel(FB2doc);
        ProgUsedLabel->setObjectName(QString::fromUtf8("ProgUsedLabel"));

        gridLayout_3->addWidget(ProgUsedLabel, 0, 0, 1, 1);

        ProgUsedEdit = new QLineEdit(FB2doc);
        ProgUsedEdit->setObjectName(QString::fromUtf8("ProgUsedEdit"));
        ProgUsedEdit->setMinimumSize(QSize(141, 0));
        ProgUsedEdit->setReadOnly(true);

        gridLayout_3->addWidget(ProgUsedEdit, 0, 1, 1, 1);

        DateLabel = new QLabel(FB2doc);
        DateLabel->setObjectName(QString::fromUtf8("DateLabel"));

        gridLayout_3->addWidget(DateLabel, 1, 0, 1, 1);

        DateEdit = new QLineEdit(FB2doc);
        DateEdit->setObjectName(QString::fromUtf8("DateEdit"));
        DateEdit->setReadOnly(true);

        gridLayout_3->addWidget(DateEdit, 1, 1, 1, 1);

        SRCOCRLabel = new QLabel(FB2doc);
        SRCOCRLabel->setObjectName(QString::fromUtf8("SRCOCRLabel"));

        gridLayout_3->addWidget(SRCOCRLabel, 2, 0, 1, 1);

        SRCOCREdit = new QLineEdit(FB2doc);
        SRCOCREdit->setObjectName(QString::fromUtf8("SRCOCREdit"));
        SRCOCREdit->setReadOnly(true);

        gridLayout_3->addWidget(SRCOCREdit, 2, 1, 1, 1);

        SRCURLLabel = new QLabel(FB2doc);
        SRCURLLabel->setObjectName(QString::fromUtf8("SRCURLLabel"));

        gridLayout_3->addWidget(SRCURLLabel, 3, 0, 1, 1);

        SRCURLEdit = new QLineEdit(FB2doc);
        SRCURLEdit->setObjectName(QString::fromUtf8("SRCURLEdit"));
        SRCURLEdit->setReadOnly(true);

        gridLayout_3->addWidget(SRCURLEdit, 3, 1, 1, 1);

        IdLabel = new QLabel(FB2doc);
        IdLabel->setObjectName(QString::fromUtf8("IdLabel"));

        gridLayout_3->addWidget(IdLabel, 4, 0, 1, 1);

        IdEdit = new QLineEdit(FB2doc);
        IdEdit->setObjectName(QString::fromUtf8("IdEdit"));
        IdEdit->setReadOnly(true);

        gridLayout_3->addWidget(IdEdit, 4, 1, 1, 1);

        VersionLabel = new QLabel(FB2doc);
        VersionLabel->setObjectName(QString::fromUtf8("VersionLabel"));

        gridLayout_3->addWidget(VersionLabel, 5, 0, 1, 1);

        VersionEdit = new QLineEdit(FB2doc);
        VersionEdit->setObjectName(QString::fromUtf8("VersionEdit"));
        VersionEdit->setReadOnly(true);

        gridLayout_3->addWidget(VersionEdit, 5, 1, 1, 1);


        gridLayout_4->addWidget(FB2doc, 0, 1, 1, 2);

        HistoryGB = new QGroupBox(FileInfoDialog);
        HistoryGB->setObjectName(QString::fromUtf8("HistoryGB"));
        gridLayout_2 = new QGridLayout(HistoryGB);
        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
        HistoryTE = new QTextEdit(HistoryGB);
        HistoryTE->setObjectName(QString::fromUtf8("HistoryTE"));
        HistoryTE->setReadOnly(true);

        gridLayout_2->addWidget(HistoryTE, 0, 0, 1, 1);


        gridLayout_4->addWidget(HistoryGB, 1, 0, 1, 3);

        horizontalSpacer = new QSpacerItem(344, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

        gridLayout_4->addItem(horizontalSpacer, 2, 0, 1, 2);

        OKButton = new QPushButton(FileInfoDialog);
        OKButton->setObjectName(QString::fromUtf8("OKButton"));

        gridLayout_4->addWidget(OKButton, 2, 2, 1, 1);

#ifndef QT_NO_SHORTCUT
        FirstNameLabel->setBuddy(FirstNameEdit);
        MiddleNameLabel->setBuddy(MiddleNameEdit);
        LastNameLabel->setBuddy(LastNameEdit);
        NickNameLabel->setBuddy(NickNameEdit);
        WebPageLabel->setBuddy(WebPageEdit);
        EmailLabel->setBuddy(EmailEdit);
        ProgUsedLabel->setBuddy(ProgUsedEdit);
        DateLabel->setBuddy(DateEdit);
        SRCOCRLabel->setBuddy(SRCOCREdit);
        SRCURLLabel->setBuddy(SRCURLEdit);
        IdLabel->setBuddy(IdEdit);
        VersionLabel->setBuddy(VersionEdit);
#endif // QT_NO_SHORTCUT

        retranslateUi(FileInfoDialog);
        QObject::connect(OKButton, SIGNAL(clicked()), FileInfoDialog, SLOT(close()));

        QMetaObject::connectSlotsByName(FileInfoDialog);
    } // setupUi

    void retranslateUi(QDialog *FileInfoDialog)
    {
        FileInfoDialog->setWindowTitle(QApplication::translate("FileInfoDialog", "\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260 \320\264\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260", 0, QApplication::UnicodeUTF8));
        AuthersGB->setTitle(QApplication::translate("FileInfoDialog", "\320\220\320\262\321\202\320\276\321\200", 0, QApplication::UnicodeUTF8));
        FirstNameLabel->setText(QApplication::translate("FileInfoDialog", "\320\230\320\274\321\217:", 0, QApplication::UnicodeUTF8));
        MiddleNameLabel->setText(QApplication::translate("FileInfoDialog", "\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\276:", 0, QApplication::UnicodeUTF8));
        LastNameLabel->setText(QApplication::translate("FileInfoDialog", "\320\244\320\260\320\274\320\270\320\273\320\270\321\217:", 0, QApplication::UnicodeUTF8));
        NickNameLabel->setText(QApplication::translate("FileInfoDialog", "\320\235\320\270\320\272:", 0, QApplication::UnicodeUTF8));
        WebPageLabel->setText(QApplication::translate("FileInfoDialog", "\320\222\320\265\320\261\321\201\320\260\320\271\321\202:", 0, QApplication::UnicodeUTF8));
        EmailLabel->setText(QApplication::translate("FileInfoDialog", "Email:", 0, QApplication::UnicodeUTF8));
        FB2doc->setTitle(QApplication::translate("FileInfoDialog", "\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202 FB2", 0, QApplication::UnicodeUTF8));
        ProgUsedLabel->setText(QApplication::translate("FileInfoDialog", "\320\240\320\265\320\264\320\260\320\272\321\202\320\276\321\200 FB2:", 0, QApplication::UnicodeUTF8));
        DateLabel->setText(QApplication::translate("FileInfoDialog", "\320\224\320\260\321\202\320\260 \321\201\320\276\320\267\320\264\320\260\320\275\320\270\321\217:", 0, QApplication::UnicodeUTF8));
        SRCOCRLabel->setText(QApplication::translate("FileInfoDialog", "\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272 OCR:", 0, QApplication::UnicodeUTF8));
        SRCURLLabel->setText(QApplication::translate("FileInfoDialog", "\320\230\321\201\321\202\320\276\321\207\320\275\320\270\320\272 URL:", 0, QApplication::UnicodeUTF8));
        IdLabel->setText(QApplication::translate("FileInfoDialog", "ID:", 0, QApplication::UnicodeUTF8));
        VersionLabel->setText(QApplication::translate("FileInfoDialog", "\320\222\320\265\321\200\321\201\320\270\321\217:", 0, QApplication::UnicodeUTF8));
        HistoryGB->setTitle(QApplication::translate("FileInfoDialog", "\320\230\321\201\321\202\320\276\321\200\320\270\321\217 \320\270\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\271", 0, QApplication::UnicodeUTF8));
        OKButton->setText(QApplication::translate("FileInfoDialog", "OK", 0, QApplication::UnicodeUTF8));
    } // retranslateUi

};

namespace Ui {
    class FileInfoDialog: public Ui_FileInfoDialog {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_FILEINFODIALOG_H
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 1.8.2011, 15:48
Сообщение #6


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

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

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




Репутация:   12  


Судя по коду (на первый взгляд) все корректно, но, возможно, все-таки объект FirstNameEdit по какой-то причине не создан. (просто чудес не бывает, бывают баги либо линковки либо какие-то скрытые)
Если не трудно выкладывайте весь проект архивом посмотрю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 1.8.2011, 16:15
Сообщение #7


Участник
**

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

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




Репутация:   0  


Проект: http://ifolder.ru/24978614

Надо вот это: http://ifolder.ru/24978892. Та, что сверху - не доработано.
Тут же в папке есть fb2 файл для теста. Делать так: Файл - Открыть...; Затем Свойства документа.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 1.8.2011, 16:36
Сообщение #8


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

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

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




Репутация:   12  


Цитата(QMainWindow @ 1.8.2011, 17:15) *
Проект: http://ifolder.ru/24978614

Надо вот это: http://ifolder.ru/24978892. Та, что сверху - не доработано.
Тут же в папке есть fb2 файл для теста. Делать так: Файл - Открыть...; Затем Свойства документа.

у тебя fileInfoDialog в Parser нигде не инициализируется, соответсвенно , попытка разыменовать "мусор" приводит к краху!
Совет: всегда инициализируй все поля объекта в конструкторе!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
QMainWindow
  опции профиля:
сообщение 1.8.2011, 16:44
Сообщение #9


Участник
**

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

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




Репутация:   0  


Он инициализируется в MainWindow (оба диалога). Затем, когда юзер нажимает на Свойтва документа, отсылается сигнал в парсер с номером диалога, после этого вызывается метод fileInfoDialog::getFileInfo, куда отсылается все необходимое.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.8.2011, 17:41
Сообщение #10


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

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

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




Репутация:   94  


Цитата(QMainWindow @ 1.8.2011, 16:56) *
Я ж говорю, что какой бы метод из FirstNameEdit ни использовал
а какая разница какой метод, метод тут не причём. Читай сообщение Пантера очень вдумчиво.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 26.12.2024, 13:50