Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Polish
  4. Void nie działa jak powinien.

Void nie działa jak powinien.

Scheduled Pinned Locked Moved Polish
6 Posts 4 Posters 2.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    New00
    wrote on last edited by
    #1

    Witam!

    Mam funkcje w: mainwindow.h
    @void w_player();@

    i chce ją wywołać w mainwindow.cpp tylko jest problem ponieważ mam w środku ify:
    @void MainWindow::w_player()
    {
    {
    if(ui->button1->text()=="Exit" && ui->button2->text()=="Exit" )
    {
    ui->label_won->setText("2 Exit");
    }

    }
    

    }@

    że jak w 2 przyciskach text = Exit to żeby w label wyświetlił się ... text .
    I jest problem ponieważ funkcja nie wyrzuca błędu a nie robi tego co trzeba.
    Może coś źle robie :/

    1 Reply Last reply
    0
    • G Offline
      G Offline
      guziemic
      wrote on last edited by
      #2

      Witam na forum :)

      A sprawdzałeś czy rzeczywiście oba przyciski mają wartość "Exit"?

      Ewentualnie możesz użyć debugera/qDebuga żeby zobaczyć jak wykonywany jest kod.

      1 Reply Last reply
      0
      • N Offline
        N Offline
        New00
        wrote on last edited by
        #3

        Dobra podam wam cały projekt pisze gre kółko i krzyżyk i tak to wygląda:

        mainwindow.h
        @#ifndef MAINWINDOW_H
        #define MAINWINDOW_H

        #include <QMainWindow>

        namespace Ui {
        class MainWindow;
        }

        class MainWindow : public QMainWindow
        {
        Q_OBJECT

        public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();

        private slots:
        void on_button_left_up_clicked();

        void on_button_left_clicked();
        
        void on_button_left_down_clicked();
        
        void on_button_up_clicked();
        
        void on_button_middle_clicked();
        
        void on_button_down_clicked();
        
        void on_button_right_up_clicked();
        
        void on_button_right_clicked();
        
        void on_button_right_down_clicked();
        
        void w_player();
        

        private:
        Ui::MainWindow *ui;
        };

        #endif // MAINWINDOW_H
        @

        mainwindow.cpp

        @#include "mainwindow.h"
        #include "ui_mainwindow.h"

        MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
        {
        ui->setupUi(this);
        }

        MainWindow::~MainWindow()
        {
        delete ui;
        }

        void MainWindow::on_button_left_up_clicked()
        {
        if(ui->button_left_up->text()=="")
        {
        ui->button_left_up->setText(ui->label_turn_ox->text());
        }
        if(ui->button_left_up->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_left_up->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_left_up->setEnabled(false);
        }

        void MainWindow::on_button_left_clicked()
        {
        if(ui->button_left->text()=="")
        {
        ui->button_left->setText(ui->label_turn_ox->text());
        }
        if(ui->button_left->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_left->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_left->setEnabled(false);
        }

        void MainWindow::on_button_left_down_clicked()
        {
        if(ui->button_left_down->text()=="")
        {
        ui->button_left_down->setText(ui->label_turn_ox->text());
        }
        if(ui->button_left_down->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_left_down->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_left_down->setEnabled(false);
        }

        void MainWindow::on_button_up_clicked()
        {
        if(ui->button_up->text()=="")
        {
        ui->button_up->setText(ui->label_turn_ox->text());
        }
        if(ui->button_up->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_up->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_up->setEnabled(false);
        }

        void MainWindow::on_button_middle_clicked()
        {
        if(ui->button_middle->text()=="")
        {
        ui->button_middle->setText(ui->label_turn_ox->text());
        }
        if(ui->button_middle->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_middle->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_middle->setEnabled(false);
        }

        void MainWindow::on_button_down_clicked()
        {
        if(ui->button_down->text()=="")
        {
        ui->button_down->setText(ui->label_turn_ox->text());
        }
        if(ui->button_down->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_down->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_down->setEnabled(false);
        }

        void MainWindow::on_button_right_up_clicked()
        {
        if(ui->button_right_up->text()=="")
        {
        ui->button_right_up->setText(ui->label_turn_ox->text());
        }
        if(ui->button_right_up->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_right_up->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_right_up->setEnabled(false);
        }

        void MainWindow::on_button_right_clicked()
        {
        if(ui->button_right->text()=="")
        {
        ui->button_right->setText(ui->label_turn_ox->text());
        }
        if(ui->button_right->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_right->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_right->setEnabled(false);
        }

        void MainWindow::on_button_right_down_clicked()
        {
        if(ui->button_right_down->text()=="")
        {
        ui->button_right_down->setText(ui->label_turn_ox->text());
        }
        if(ui->button_right_down->text()=="O")
        {
        ui->label_turn_ox->setText("X");
        }
        if(ui->button_right_down->text()=="X")
        {
        ui->label_turn_ox->setText("O");
        }
        ui->button_right_down->setEnabled(false);
        }

        void MainWindow::w_player()
        {
        {
        if(ui->button_left_down->text()=="X" && ui->button_left->text()=="X" && ui->button_left_up->text()=="X")
        {
        ui->label_won->setText("Won: X");
        }

        }
        

        }
        @
        main.cpp

        @#include "mainwindow.h"
        #include <QApplication>

        int main(int argc, char *argv[])
        {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();

        return a.exec&#40;&#41;;
        

        }
        @

        1 Reply Last reply
        0
        • V Offline
          V Offline
          Vovasty
          wrote on last edited by
          #4

          Hi,
          try to call w_player() in each on_button_xxx_clicked() functions or use signals-slots connections.

          1 Reply Last reply
          0
          • T Offline
            T Offline
            turaz
            wrote on last edited by
            #5

            Jeżeli to jest cały projekt to ja nie widzę w kodzie ani jednego wywołania metody: @w_player()@
            Jeśli jest to SLOT to pod jaki sygnał go podpiąłeś bo tego też nie widzę.

            1 Reply Last reply
            0
            • V Offline
              V Offline
              Vovasty
              wrote on last edited by
              #6

              [quote author="turaz" date="1413312214"]Jeżeli to jest cały projekt to ja nie widzę w kodzie ani jednego wywołania funkcji: @w_player()@
              Jeśli jest to SLOT to pod jaki sygnał go podpiąłeś bo tego też nie widzę.
              [/quote]
              Your right. For example can write:
              @MainWindow::MainWindow(QWidget *parent) :
              QMainWindow(parent),
              ui(new Ui::MainWindow)
              {
              ui->setupUi(this);

              connect(ui->button_left_up, SIGNAL(clicked()),
              this, SLOT(w_player()));
              ...
              }
              @

              1 Reply Last reply
              0

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved