Fórum Ubuntu CZ/SK
		Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Martin - ViPEr*CZ*  14 Června 2008, 16:21:45
		
			
			- 
				Další lahůdka :D
Mám metodu:
connect(pushButton, SIGNAL(released()), this, SLOT(Pokus()));
a v objektu co představuje this jsem definoval:
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ě.
			 
			
			- 
				
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.
			 
			
			- 
				Tak je potřeba:
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.
			 
			
			- 
				A tu je výsledný kód sloužící pro začátečníky:
http://vipersoftware.net/linux/download/src/kalkulacka.tar.gz