• 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

Mały hosting, OGROMNE możliwości
0 głosów
514 wizyt
pytanie zadane 12 lipca 2017 w C i C++ przez Artur Koniec Gaduła (3,680 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,460 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,680 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,460 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ź 273 wizyt
pytanie zadane 17 kwietnia 2018 w C i C++ przez Jopinho Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 897 wizyt
pytanie zadane 21 marca 2017 w C i C++ przez kosabdsm Początkujący (430 p.)
0 głosów
1 odpowiedź 730 wizyt
pytanie zadane 20 lipca 2019 w C i C++ przez Ewaryst Ławecki Obywatel (1,710 p.)

93,717 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,260 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...