33 / 22 / 12
Регистрация: 13.09.2017
Сообщений: 74

Получение доступа к MainWindow

30.04.2018, 22:13. Показов 4115. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. При написании курсовой работы возникла проблема. Допустим у нас есть две формы: MainWindow.ui, в которой лежит кнопка SingleGame, и форма Settings.ui. Мне нужно сделать так, чтобы при нажатии кнопки из Settings.ui изменялся текст на кнопке SingleGame, которая находится на MainWindow.ui

Я пробовал делать так:

Settings.cpp
C++
1
2
3
4
5
void Settings::on_Apply_clicked() {
 
  MainWindow::setLabelText("Начать игру");
 
}
MainWindow.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace Ui {
  class MainWindow;
}
 
class MainWindow : public QMainWindow
{
  Q_OBJECT
 
public:
  explicit MainWindow(QWidget *parent = 0);
  ~MainWindow();
 
  void setLabelText(QString string);
 
private:
  Ui::MainWindow *ui;
};
MainWindow.cpp
C++
1
2
3
4
void MainWindow::setLabelText(QString string) {
 
  ui->SingleGame->setText(string);
}
Но ничего не получается. Выводит ошибку: call to non-static member function without an object argument
MainWindow::setLabelText("Начать игру");
~~~~~~~~~~~~^~~~~~~~~~~~

Подскажите пожалуйста, как правильно сделать подобную вещь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2018, 22:13
Ответы с готовыми решениями:

Связать переменные из mainwindow.h и mainwindow.cpp
Здравствуйте! Подскажите, пожалуйста: В файле mainwindow.cpp есть некоторая переменная state (переменная состояния), которой...

Invalid use of 'Ui::MainWindow::MainWindow
Доброго времени суток, не получается создать обработчик для пунктов меню созданного в дизайнере выдает ошибку: mainwindow.cpp:13: ошибка:...

Получение доступа
Недавно лазил в маей рабочей сетке, и к сваему удивлению обнаружил что не являюся админом для некоторых компов. И тут мне пришла идея,...

2
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
01.05.2018, 08:00
Вторая форма модальная?
Слоты/сигналы используй, например. setLabelText() - слот, сигнал добавь во вторую форму, а в on_Apply_clicked() - emit.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
01.05.2018, 23:36
Цитата Сообщение от JesD Посмотреть сообщение
у нас есть две формы: MainWindow.ui, в которой лежит кнопка SingleGame, и форма Settings.ui.
Как они связаны?

Добавлено через 34 минуты
Если никак, то сделай connect там, где объекты форм создаются. Сделай, как пишет nmcf, слот в MainWindow, в котором будет изменяться текст на кнопке SingleGame, и свяжи этот слот с сигналом clicked() кнопки из Settings.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2018, 23:36
Помогаю со студенческими работами здесь

Получение доступа
Вот к примеру, чтоб получить доступ из формы 1 к форме 2, нужен код: Form2 dlg = new Form2(); ...

Получение доступа к ресурсу
Есть сетевая папка расположенная на компьютере директора. При попытке открытия выдается ошибка: Windows не может получить доступ к...

Получение доступа к регистрам
Правильно ли я понимаю, что когда я пишу имя регистра или переменной, то фактически указываю на её первый (самый левый) бит самого левого...

Получение доступа к SpecialFolders
Доброго времени суток! Пишу программу, которая ищет *.exe-шники в определенной папке. Проблема в том, что когда поиск доходит до папок,...

Получение доступа к папке
Мне нужно получить доступ к папке c/users/username/dowland. Но проблема в том, что на разных Пк username разное.Как решить эту проблему?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru