Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Qt a connect + SLOT [vyřešeno]  (Přečteno 3185 krát)

Martin - ViPEr*CZ*

Qt a connect + SLOT [vyřešeno]
« kdy: 14 Června 2008, 16:21:45 »
Další lahůdka :D

Mám metodu:

Kód: [Vybrat]
connect(pushButton, SIGNAL(released()), this, SLOT(Pokus()));
a v objektu co představuje this jsem definoval:

Kód: [Vybrat]
public slots: void Pokus();
Neuvěřitelné je to, že třída this dědí z QDialogu a slot se hledá v základní třídě a ne v té mé zděděné takže to vypisuje něco jako

nenalezen slot QDialog::Pokus

V příkladech se, ale tato syntaxe normálně používá (nezkoušel jsem kompilaci). Tak nevím co je kde špatně.
« Poslední změna: 14 Června 2008, 20:00:48 od Martin - ViPEr*CZ* »
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martin - ViPEr*CZ*

Re: Qt a connect + SLOT
« Odpověď #1 kdy: 14 Června 2008, 17:10:59 »
Kód: [Vybrat]
QObject::connect(pushButton_4, SIGNAL(released()), x, SLOT(SetEditLine(0)));
Tak todle je taky záhada... SLOT SetEditLine s parametrem neprojde a bez parametru to funguje. Nechápu.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martin - ViPEr*CZ*

Re: Qt a connect + SLOT
« Odpověď #2 kdy: 14 Června 2008, 19:58:41 »
Tak je potřeba:

Kód: [Vybrat]
class Ui_Dialog : public QWidget
{
Q_OBJECT

a ten prefix Q_OBJECT je tam právě potřeba jinak nefungují deklarace slotů. Nic méně mi kompilátor nepobíral, když jsem si to tam doplnil. Prapodivné. Vyřešilo to, když jsem v KDevelop dal přidat novou třídu. Tu nadědil s QWidget. Vše pomocí wizardu. A dal kompilovat. Nic víc jsem nikde neměnil. A ejhle Q_OBJECT najednou klidně prošel... no je to záhadný. Třídu jsem zase odebral a teď to už funguje bez toho a jak potřebuju.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martin - ViPEr*CZ*

Re: Qt a connect + SLOT [vyřešeno]
« Odpověď #3 kdy: 14 Června 2008, 21:30:34 »
A tu je výsledný kód sloužící pro začátečníky:

http://vipersoftware.net/linux/download/src/kalkulacka.tar.gz
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

 


Provoz zaštiťuje spolek OpenAlt.