У меня приложение с картой, при нажатии на карту я рисую Waypoint и сохраняю его в мой struct WaypointData
Рисование Waypoint на карту
int MapViewClass::view_ObjectCallback(GlsMapView* self, DisplayEvent* ev)
{
Vector lonlatalt;
_pickedLocation.GetGeodetic(&lonlatalt);
WaypointData* w = new WaypointData();
w->iD = 0;
w->state = 0;
w->lng = lonlatalt.x;
w->lat = lonlatalt.y;
w->alt = lonlatalt.z;
int iconType = 0;
w->iconId = symbols->AddIcon(_pickedLocation,iconType);
short nN = _dtedMapChartSource.GetElevationDataPoint(_pickedLocation);
symbols->GetIcon(w->iconId)->SetResource("State", std::to_string(w->state).c_str());
symbols->GetIcon(w->iconId)->SetResource("ID", std::to_string(w->iD).c_str());
//Set Elevation Data
symbols->GetIcon(w->iconId)->SetResource("NN", std::to_string(nN).c_str());
//Set Height over Ground
symbols->GetIcon(w->iconId)->SetResource("Height", std::to_string(w->alt).c_str());
AddPathPoint(_pickedLocation);
waypointData.push_back(*w);
MainWindow *_MainWindor = new MainWindow();
_MainWindor->PMission_BKS(w);
}
мой struckt
struct WaypointData
{
short iD;
short iconId;
double lng;
double lat;
double alt;
int minAltitude;
int state;
};
Все это находится у меня в
namespace disti
{
class MapViewClass : public ComponentBase
{
public:
В этой же фукнции где рисуется Waypoint вызывается функция из MainWindow
MainWindow *_MainWindor = new MainWindow();
_MainWindor->PMission_BKS(w);
Функция PMission_BKS находится в public в
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Вот так выглядит моя функция PMission_BKS
void MainWindow::PMission_BKS(WaypointData* w)
{
std::stringstream str;
str << w->lng;
ui->PMission_uberschrift->setText(str.str().c_str());
}
Проблема в следующем, если я пытаюсь вызвать qDebug() << w->lng; то получаю значение к примеру 10.5112, если же пытаюсь вывести текст в QLabel или QPlainText то попросту ничего не вижу
По коду нельзя точно сказать, но есть предположение что проблема в этом месте:
MainWindow *_MainWindor = new MainWindow();
_MainWindor->PMission_BKS(w);
Приведите код где используется эта часть.
Есть подозрение, что Вы где-то одном месте создаете экземпляр MainWindow, который и отображаете на экране, а в вышепреведенном коде, вместо того чтоб использовать существующий MainWindow - создаете новый и для него вызываете PMission_BKS и там, в этом новом экземпляре даже корректно устанавливается значение QLabel, но эта форма не отображена на экране и Вы не видите измененией
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости