• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

QT Creator - Przenoszenie wartości zmiennej do inego pliku .cpp

Object Storage Arubacloud
0 głosów
345 wizyt
pytanie zadane 12 lipca 2017 w C i C++ przez Artur Koniec Gaduła (3,670 p.)

Witam, próbuje zrobić grę, w której będzie można grać jedną z trzech postaci, nazwijmy je x,y,z, w formie przeznaczonej do wyboru postaci, za pomocą RadioButton'ów zrobiłem wybór, przy naciśnięciu pushButton'a kondycja warunkowa if podawała zmiennej int postac jaką postać wybraliśmy (x-1,y-2,z-3), w kolejnej formie już ma się dziać akcja, sterowanie postacią, wgrywanie tekstury postaci ma zależeć od cyferki w zmiennej postac, i tu jest problem, co muszę zrobić by int postac zadeklarowaną w Form1, odczytać w Form2? podaje tu kod, mam nadzieję że wytłumaczyłem problem zrozumiale. Dziękuję z góry za każdą pomoc, rozwiązanie dla "zielonego" mile widziane :) 

int postac = 0;
void Character::on_pushButton_ok_clicked()
{
if(ui->radioButton_x->isChecked())
 {

     postac = 1;
 }
 if(ui->radioButton_y->isChecked())
 {
     postac = 2;
 }
 if(ui->radioButton_z->isChecked())
 {

     postac = 3;
}

 

1 odpowiedź

0 głosów
odpowiedź 13 lipca 2017 przez Bondrusiek Maniak (61,370 p.)
wybrane 27 sierpnia 2017 przez Artur Koniec
 
Najlepsza

Witam,

nie wiem czy dobrze rozumuje ale spróbuj tak.

Utwórz zmienną prywatną postac. (Wyrzuć zmienną globalną int postac). Stwórz metodę int getPostac() const. Kod:

int Character::getPostac() const
{
      return postac;
}

Tworzysz nową klasę z formularzem(Form2) dodajesz klasę Character(np. #include "character.h"). Inicjujesz ją w nowej klasie Character character.

Następnie możesz się do niej odwołać w form2 np.

ui->label->setText("Postac " + QString::number(character.getPostac()));

Pozdrawiam

 

PS

Pisze się Qt Creator(https://www.qt.io/ide/) nie QT Creator. Tak samo nie QT tylko Qt

komentarz 13 lipca 2017 przez Artur Koniec Gaduła (3,670 p.)
błąd: no 'int Character::getPostac() const' member function declared in class 'Character'
 int Character::getPostac() const
                            ^                                 takie coś dostaje :/ co moze być źle?
komentarz 13 lipca 2017 przez Bondrusiek Maniak (61,370 p.)

Prawdopodobnie nie dodałeś funkcji do klasy. Plik .h

class Character
{
...
private:
int postac;
public:
int getPostac() const;
...
};

Plik .cpp

int Character::getPostac() const
{
      return postac;
}

 

Podobne pytania

0 głosów
1 odpowiedź 178 wizyt
pytanie zadane 17 kwietnia 2018 w C i C++ przez Jopinho Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 495 wizyt
pytanie zadane 21 marca 2017 w C i C++ przez kosabdsm Początkujący (430 p.)
0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 20 lipca 2019 w C i C++ przez Ewaryst Ławecki Obywatel (1,710 p.)

92,556 zapytań

141,404 odpowiedzi

319,561 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...