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.
Qt 6.11 is out! See what's new in the release blog

Void nie działa jak powinien.

Scheduled Pinned Locked Moved Polish
6 Posts 4 Posters 2.9k Views 1 Watching
  • 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