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

question-closed Połączenie w QT5

Object Storage Arubacloud
0 głosów
155 wizyt
pytanie zadane 9 czerwca 2016 w C i C++ przez aspoka Mądrala (5,290 p.)
zamknięte 10 czerwca 2016 przez aspoka

Witam, piszę sapera w QT5. Na razie mam tablice przycisków i chcę by po kliknięciu przycisku wyświetlił się na nim X. Gdy włączam program pojawia się komunikat: "QObject::connect: No such slot MojeOkno::onClick(i,j)"  Oczywiście program nie działa, ale okienko się pojawia.

Mój kod

main.cpp

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

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MojeOkno o;
    o.show();
    return a.exec();
}

mainwindow.h

#ifndef MOJEOKNO_H
#define MOJEOKNO_H

#include <QMainWindow>
#include <QPushButton>
#include <QMainWindow>
#include <QLabel>
#include "patch.h"

class MojeOkno : public QMainWindow
{
Q_OBJECT public:
    explicit MojeOkno(QWidget *parent = 0);
    QPushButton* button;
    QLabel* label1;
    QLabel* label2;
    QLabel* label3;
    QLabel* label4;
    QPushButton*** tab;
    Patch* p;
signals:
public slots:
    void onClick(int i, int j);
};
#endif // MOJEOKNO_H

mainwindow.cpp

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

MojeOkno::MojeOkno(QWidget *parent) :    QMainWindow(parent)
{
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    setGeometry(100, 100, 400, 460);
    setWindowTitle("Saper");

    label1 = new QLabel("Bomby:", this);
    label1->setGeometry(20, 20, 80, 40);

    label2 = new QLabel("10", this);
    label2->setGeometry(120, 20, 80, 40);

    label3 = new QLabel("Czas:", this);
    label3->setGeometry(220, 20, 80, 40);

    label4 = new QLabel("0", this);
    label4->setGeometry(300, 20, 80, 40);

    tab = new QPushButton**[9];
    for(int i=0; i<9; i++)
    {
        tab[i] = new QPushButton*[9];
            for(int j=0; j<9; j++)
            {
                tab[i][j] = new QPushButton("", this);
                tab[i][j]->setGeometry(20+i*40, 80+j*40, 40, 40);
            }
    }

    //connect(tab[0][0], SIGNAL(clicked(bool)), this, SLOT(onClick(0,0)));
    for(int i=0; i<9; i++)  for(int j=0; j<9; j++)
        connect(tab[i][j], SIGNAL(clicked()), this, SLOT(onClick(i, j)));
}
void MojeOkno::onClick(int i, int j)
{
    tab[i][j]->setText("X");
}

W ostatnim pliku usuwam komentarz z 34 linijki i wrzucam 35 i 36 w komentarz pojawia się z kolei taki błąd: "QObject::connect: No such slot MojeOkno::onClick(0, 0)"

 

Ktoś ma pomysł dlaczego?

komentarz zamknięcia: Problem rozwiązany. Usunąć i napisać od zera w inny, poprawny  sposób.

Podobne pytania

0 głosów
2 odpowiedzi 198 wizyt
pytanie zadane 17 lipca 2018 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 132 wizyt
pytanie zadane 7 stycznia 2018 w C i C++ przez amb00 Bywalec (2,000 p.)
0 głosów
1 odpowiedź 155 wizyt
pytanie zadane 2 maja 2017 w C i C++ przez Sidzej Użytkownik (850 p.)

92,547 zapytań

141,388 odpowiedzi

319,506 komentarzy

61,931 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!

...