Nejste přihlášen/a.
Zdař lidi,
Umíte někdo programovat v QT? Trochu víc mě to chytlo a začínám se to učit. Byl by tu někdo kdo by mi helpnul? Mám to tady rozepisovat, protože je to dosti složité...
jj, máte recht. Jedním očkem jste nahlédl do velmi složitého světa. Nevím jestli se něco nezměnilo, ale základem QT je C++. No a ten se musíte naučit sám. Tady žádná rychlometoda neexistuje. Jestli chcete opravdu umět C++, pak nad ním musíte sedět a sedět a sedět a neztrácet víru a trpělivost. Trvá to několik let.
Ano přeně c++ umim zatim tak na půl. Zkusim se zeptat tady, když mám jednoduchej prográmek:
// Přepište si include do těch závorek.
#include QApplication
#include QPushButton
#include QHBoxLayout
#include QVBoxLayout
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
QWidget*window=newQWidget;
window->setWindowTitle("MyApp");
QPushButton*button1=newQPushButton("One");
QPushButton*button2=newQPushButton("two");
QPushButton*button3=newQPushButton("three");
QHBoxLayout*hlayout=newQHBoxLayout;
hlayout->addWidget(button1); //tady mi nejni jasné proč to nehází chybu
hlayout->addWidget(button2);
hlayout->addWidget(button3);
window->setLayout(hlayout);
window->show();
returnapp.exec();
}
// Proč void addWidget přijímá parametr QPushButton, když má být:
void addWidget(QWidget * widget, int stretch = 0, Qt::Alignment alignment = 0)
Divné že to přijímá jinej objekt než je v parametrech, unikla mi nějaká teorie v c++? Ď
doplněno 03.02.15 09:29:Může ten první parametr být šablona?
doplněno 03.02.15 20:57:Tvůj odkaz nevysvětluje můj dotaz. Jsou tam vysvětleny implicitní parametry a polymorfismus(přetěžování), to je mi všechno jasný, ale nerozumim tomu, proč addWidget přijímá parametr QPushButton , když v deklaraci je QWidget.
Jinak děkuji za pomoc!
Super, Tak tahle dědičnost mi unikla. Taky programuješ v Creatoru? Začínám se to učit a scháním někoho s kým bych o tom mohl pokecat.
Jen ti unikla teorie. Říká se tomu třeba implicitní parametry funkcí. Dostuduj třeba zde:
doplněno 03.02.15 20:10:S tou šablonou nevím, jak to myslíš. Jesli o QT nebo obecně C++. Napiš příklad,
doplněno 03.02.15 22:01:Jo tak. Myslel jsem, že tě zmátlo, proč je tam méně parametrů, moje chyba... Tady jde o to, že QPushButton má dle dokumentace qt-project.org/... jako předka QAbstractButton a ten má předka QWidget. Takže ta metoda se k tvému QPushButton chová jako kdyby to byl jen QWidget.
doplněno 04.02.15 17:56:Kdepak, v QT jsem nikdy nedělal.
Ještě bych se chtěl zeptat, nemohu přijít jak mám v nové verzi rozběhnout
tam akorád používám knihovnu QGridLayout, QLabel, QLineEdit
doplněno 11.02.15 18:35:QLabel je taky zděděno přes QWidget tak proč QPushButton jde a QLabel nejde...
Ta hláška ti říká, že třída QGridLayout nezná metodu addWidged. Máš tam překlep - místo addWidged má být addWidget.
doplněno 11.02.15 23:13:To se stává... Zkus když píšeš nějakou metodu dát ctrl + space. Ve většině vývojových prostředích je to autocomplete a mělo by ti to nabídnout dostupné proměnné/metody. Vyhneš se tak snáze překlepům.
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.