Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Qt sloty + obiektowość = problem

#1
Sad  Qt sloty + obiektowość = problem
Witam wszystkich.

Rozpoczynam naukę Qt i tworzę teraz prostą grę kółko krzyżyk. Na aktualnym etapię chcę , aby po kliknięciu w QPushButton, metoda setCircle(int button), w owym buttonie narysowała kółko - więc łączę pierwszy button z metodą setCircle ustawiając argument button na 1:
Kod:
connect(one, SIGNAL(clicked()),
            this, SLOT( setCircle(1) ));
Metoda set Circle wygląda następująco:
Kod:
void Window::setCircle(int button)
{

if(button==1)
        one->setText("o");

}
Niestety Smutek . Qt Creator wypluwa mi, że nie jest w stanie znaleźć metody setCircle(1) .

Wkleję jeszcze cały kod dla pewności Wesoły :
Kod:
#include <QtGui>

#include "window.h"
#include<QLineEdit>
#include<QLabel>
#include<QPushButton>
#include<QString>

Window::Window()
{

    QTextCodec::setCodecForTr (QTextCodec::codecForName ("UTF-8"));


    one= new QPushButton (tr(""), this);
    one->setGeometry(00, 0, 30, 30);


    connect(one, SIGNAL(clicked()),
            this, SLOT( setCircle(1) ));

    setWindowTitle(tr("Kółko krzyżyk"));
  setMinimumSize(200, 200);
   setMaximumSize(200,200);
}

void Window::setCircle(int button)
{

if(button==1)
        one->setText("o");

}
Moje pytanie jest proste:
Co jest nie tak Wesoły ?

Ps. Pozostałe 8 buttonów nie umieściłem w kodzie, aby był on czytelny.
 System operacyjny: linux Przeglądarka: opera
#2
RE: Qt sloty + obiektowość = problem
Masz deklarację metody SetCircle w pliku "window.h"?
Jeżeli możesz to rzuć cały projekt.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#3
RE: Qt sloty + obiektowość = problem
(26.06.2011, 18:01)Xevaquor napisał(a): Masz deklarację metody SetCircle w pliku "window.h"?
Tak. Na tyle Qt to znam. Duży uśmiech
(26.06.2011, 18:01)Xevaquor napisał(a): Jeżeli możesz to rzuć cały projekt.

||
||
\/


Załączone pliki
.zip   kolko krzyzyk.zip (Rozmiar: 2,34 KB / Pobrań: 68)
 System operacyjny: linux Przeglądarka: opera
#4
RE: Qt sloty + obiektowość = problem
Hmm... kod który podałeś u mnie ładnie się kompiluje Drapanie
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#5
RE: Qt sloty + obiektowość = problem
Ups.............
Podałem trochę zły kod.
Ten na pewno jest dobry :D


Załączone pliki
.zip   kolkokrzyzyk.zip (Rozmiar: 2,33 KB / Pobrań: 42)
 System operacyjny: linux Przeglądarka: opera
#6
RE: Qt sloty + obiektowość = problem
Być może problemem są tu argumenty slotów i sygnałów. Wydaje mi się, że slot nie może przyjmować więcej argumentów niż ma ich sygnał.
--
Sam mam bardzo małe doświadczenie w Qt (w zasadzie to też dopiero się uczę) ale mam 2 pomysły jak to rozwiązać:
1. Zamiast klasy QPushButton zrobić sobie klasę po niej dziedziczącą, która będzie zawierała slot setcircle (bezparametrowy), imo klasa powinna mieć dość informacji aby stwierdzić czy należy stawić kółko czy też nie.

Ech, skleroza - pisząc pierwsze zapomniałem o czym innym myślałem...
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#7
RE: Qt sloty + obiektowość = problem
(26.06.2011, 20:56)Xevaquor napisał(a): Sam mam bardzo małe doświadczenie w Qt (w zasadzie to też dopiero się uczę) ale mam 2 pomysły jak to rozwiązać:
1. Zamiast klasy QPushButton zrobić sobie klasę po niej dziedziczącą, która będzie zawierała slot setcircle (bezparametrowy), imo klasa powinna mieć dość informacji aby stwierdzić czy należy stawić kółko czy też nie.

Mógłbyś podac przykład, bo jakoś za bardzo nie rozumiem o co chodzi?
 System operacyjny: windows_vista Przeglądarka: opera
#8
RE: Qt sloty + obiektowość = problem
Tak to mniej więcej wg mnie może wyglądać.


Załączone pliki
.zip   omg.zip (Rozmiar: 4,8 KB / Pobrań: 86)
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
kolko i krzyzyk qtkółko i krzyżyk qtqt sloty

Skocz do:


Wybrane wątki (Qt sloty + obiektowość = problem)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
Ściana [CMD] Dwa zadanka które mnie przerosły MihuJ 0 8919 11.01.2018 15:52
Ostatni post: MihuJ
  Czy programowanie jest dla mnie? Co powinienem robić? Kumiku 2 9255 05.01.2018 20:14
Ostatni post: broda99
  SQL zapisanie w rekordzie nazwy zalogowanego użytkownika karlos1323 11 3432 30.12.2017 11:08
Ostatni post: koneton
  Mały algorytm bartek164 3 9229 25.12.2017 10:41
Ostatni post: Szachista
  Git - kompilacja pobranej apki ~Anonim 6 8915 23.12.2017 14:59
Ostatni post: ~Anonim
  wczytywanie zmiennej z innego pliku batch grymariusza 7 9767 18.12.2017 17:34
Ostatni post: broda99
  Jaki kod pod takie okno formularza w visualbasicu 2010? aktywny27 11 19661 26.11.2017 23:26
Ostatni post: Ajgor
  Jaki projekt na pythona bartek164 0 8641 25.11.2017 19:59
Ostatni post: bartek164
  [VB.NET] przenoszenie danych między formami Pioro 15 20546 19.11.2017 03:48
Ostatni post: broda99
  Java.android.Tworzenie akcji Blendow 0 8457 16.11.2017 23:38
Ostatni post: Blendow
  Proszę o pomoc, cmd! PanKasztan4 1 7934 16.11.2017 22:05
Ostatni post: broda99
  Jaki kod w visual basicu 2010 express? aktywny27 5 9141 07.11.2017 11:01
Ostatni post: Ajgor
  Sprawdzanie wygranej. PixelFullHD 1 8644 03.11.2017 18:38
Ostatni post: Ajgor
  Algorytm Genetyczny C pr1991 3 9000 26.10.2017 11:52
Ostatni post: Szachista
  Program C++ do pola i objętości mistrz18 2 9124 18.10.2017 23:10
Ostatni post: Ajgor