Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
d
Jan. 2, 2019, 7:16 p.m.

Почему не получается получить доступ к QDoubleSpinBox из другого класса?

qt, class

Есть class MainWindow и class PollutionZone : public QWidget. В классе PollutionZone, есть два QDoubleSpinBox :

QDoubleSpinBox *latitudeDSpinBox = new QDoubleSpinBox(this);
virtual QDoubleSpinBox* PollutionZone::getLatitudeDSpinBox()
{
    return latitudeDSpinBox;
}
QDoubleSpinBox *longitudeDSpinBox = new QDoubleSpinBox(this);
virtual QDoubleSpinBox* PollutionZone::getLongitudeDSpinBox()
{
    return longitudeDSpinBox;
}

Почему в классе MainWindow не получается изменить значения latitudeDSpinBox, longitudeDSpinBox ?

#include "PollutionZone/pollutionzone.h"
...
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
 ...
    PollutionZone *PZone = new PollutionZone();
    PZone->getLatitudeDSpinBox()->setValue(1.111111);
    PZone->getLongitudeDSpinBox()->setValue(2.222222);
    delete PZone;
 ...
}

Не получается изменить значения - это значит, остаются координаты равными : 0.000000, 0.000000

2

Добрый день. У Вас в конструкторе MainWindow:

PollutionZone *PZone = new PollutionZone();
PZone->getLatitudeDSpinBox()->setValue(1.111111);
PZone->getLongitudeDSpinBox()->setValue(2.222222);
delete PZone;

Создается PZone, устанавливаются значения и сразу уничтожается PZone. Код по сути бесполезный. И как Вы в этом случае используете QDoubleSpinBox?

0
d

Я уже разобрался спасибо. Было созданно два PollutionZone *PZone = new PollutionZone(); . Поэтому и не работало

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
v
Jan. 17, 2019, 11:51 a.m.
vitalir12

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:20points,
  • Rating points-10
v
Jan. 17, 2019, 11:49 a.m.
vitalir12

C++ - Test 002. Constants

  • Result:50points,
  • Rating points-4
v
Jan. 17, 2019, 11:13 a.m.
vitalir12

C++ - Тест 003. Условия и циклы

  • Result:28points,
  • Rating points-10
Last comments
I
Jan. 16, 2019, 8:06 a.m.
IscanderChe

Заработало. Забыл model->select(); вписать.
I
Jan. 16, 2019, 8:02 a.m.
IscanderChe

Всё равно пусто, хотя строка с данными в базу добавляется.
Jan. 16, 2019, 7:51 a.m.
Евгений Легоцкой

потому, что нужно сохранять информацию для всех остальных ролей и столбцов через вызов переопределённого метода. Да к тому же вы ещё и зациклили вызов метода data. QVariant MySqlTableModel:...
I
Jan. 16, 2019, 7:43 a.m.
IscanderChe

Сделал вот так. В tableView ничего нет, кроме заголовка. QVariant MySqlTableModel::data(const QModelIndex &index, int role) const{ if (role == Qt::DisplayRole) { QTime ...
Now discuss on the forum
Jan. 17, 2019, 1:40 p.m.
Михаиллл

Спасибо, заработало.Учту с переменными.
Jan. 17, 2019, 12:01 p.m.
Алексей Внуков

у меня просто есть отдельное поле с чекбоксамими какие колонки нужно отображать CheckBox { id: checkBox text: qsTr("some text") checked: true onC...
Jan. 15, 2019, 4:53 p.m.
Михаиллл

Спасибо, заработало.Но выдало обычный текст без форатирования HTML.Придется искать дальше
Jan. 15, 2019, 12:52 p.m.
BlinCT

Я же вам выше написал CLion умеет работать с ремоут машинами. И Qt так же собирает.
Join us in social networks

For registered users on the site there is a minimum amount of advertising