Qt
-
Biohazard66
Light Expert
- Príspevky: 63
- Registrovaný: 08 nov 2011, 19:16
Qt
pls poraďte mi niekto potrebujem spraviť tlačidlo a malo by to fungovať takto:
Stlačíte prvý krát zobrazí labe1 stlačíte 2 krát zobrazí label 2 atd.
Dik vopred
Stlačíte prvý krát zobrazí labe1 stlačíte 2 krát zobrazí label 2 atd.
Dik vopred
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Qt
a problém je kde?
Re: Qt
Takto, ukaz co mas a pokusime sa to spolu dorobit. Dlhsie vidim co pises tu vo vlakne o programovani a takto sa programovat nenaucis, ze to budu robit ludia za teba.
Tiez by som ta poprosil aby si troska upresnil to kliknutie 2 krat. Ma ist o dvojklik alebo o druhe kliknutie v poradi?
Tiez by som ta poprosil aby si troska upresnil to kliknutie 2 krat. Ma ist o dvojklik alebo o druhe kliknutie v poradi?
-
Biohazard66
Light Expert
- Príspevky: 63
- Registrovaný: 08 nov 2011, 19:16
Re: Qt
nemám celý program vymýšľam ako by to mohlo byť píšem len funkciu mam priblizne ten klik a ma to byť na 2.kliknutie a vymyslel som to tak že napr. ale toto nefunguje
keby som toto dokazal dat do toho kliknutia tak by som v poho dorobil celý program
//autoeditácia príspevku (22 Mar 2012, 20:13)
Proste ide oto že na kliknutie by sa mal zobraziť další label niečo ako next atd.
Kód: Vybrať všetko
ui->label+QString::number(i)->setVisable(true)keby som toto dokazal dat do toho kliknutia tak by som v poho dorobil celý program
//autoeditácia príspevku (22 Mar 2012, 20:13)
Proste ide oto že na kliknutie by sa mal zobraziť další label niečo ako next atd.
Re: Qt
Predpokladam ze ked robis s tlacidlami, tak vies co su sloty a signaly. Ak nie zacni tam, ak hej tak si len sprav nejaku premennu "pocitadlo", kde budes pocitat, kolke stlacenie tlacidla to je. Cez podmienky potom skryjes/zobrazis dany label.
PS: metody na skrytie/zobrazenie nejakeho widgetu su hide()/show() ale keby pouzijes google, tak si to najdes aj sam
PS: metody na skrytie/zobrazenie nejakeho widgetu su hide()/show() ale keby pouzijes google, tak si to najdes aj sam
-
Biohazard66
Light Expert
- Príspevky: 63
- Registrovaný: 08 nov 2011, 19:16
Re: Qt
ok dik a ja pouzivam setVisable(true/false)
Re: Qt
no si sprav pole kde tie lable naukladas ... a budes sa cez to pole posuvat ...
QList<QLabel*> zoznamLabelov; //tiez definovane v MainWindow.h
//tento kod napchat napr. do konstruktora za volanie ui->setup()
zoznamLabelov.addItem(ui->label1);
.....
zoznamLabelov.addItem(ui->labelX);
.....
premenna ktoru bude mat napr. MainWindow.h ... private: int m_AktualnyLabel = -1;
pisal som len tak netusim ci sa volaju presne tak tie metody mozno nieje "get" ale "at" ... a tak isto to addItem sa mozno vola inak napr push
QList<QLabel*> zoznamLabelov; //tiez definovane v MainWindow.h
//tento kod napchat napr. do konstruktora za volanie ui->setup()
zoznamLabelov.addItem(ui->label1);
.....
zoznamLabelov.addItem(ui->labelX);
.....
premenna ktoru bude mat napr. MainWindow.h ... private: int m_AktualnyLabel = -1;
Kód: Vybrať všetko
onClick... {
m_AktualnyLabel++;
for(int i = 0; i < zoznamLabelov.size(); i++){
if (i == m_AktualnyLabel)
zoznamLabelov.get(i)->setVisible(true);
else
zoznamLabelov.get(i)->setVisible(false);
}
}
-
Biohazard66
Light Expert
- Príspevky: 63
- Registrovaný: 08 nov 2011, 19:16
Re: Qt
Potrebujem ešte jednu radu mam slučku a chcem aby zakaždým pripísalo text ale ked použijem label->setText("nieco") tak to zakaždým prepíše ale ja chcem iba doplniť
Dik
Dik
-
Biohazard66
Light Expert
- Príspevky: 63
- Registrovaný: 08 nov 2011, 19:16
Re: Qt
viem ale ten program kombinuje čísla a vypíše 120 kombinácii takže to takto nemá zmisel
-
Biohazard66
Light Expert
- Príspevky: 63
- Registrovaný: 08 nov 2011, 19:16
Re: Qt
No ok
Tak mal som program na kombinovanie čísel v konzole a dal som ho do GUI rozhrania a kombinácie chcem vypísať v label, ale nemôźem použit setText pretože vypisuje slučka while a kebyže tam dám setText tak mi napíše len poslednú kombináciu a ja ich chcem všetky ale nepoznám taky "prvok" alebo funkciu ktorá vypisuje zaseba a neprepisuje ten text
Tak mal som program na kombinovanie čísel v konzole a dal som ho do GUI rozhrania a kombinácie chcem vypísať v label, ale nemôźem použit setText pretože vypisuje slučka while a kebyže tam dám setText tak mi napíše len poslednú kombináciu a ja ich chcem všetky ale nepoznám taky "prvok" alebo funkciu ktorá vypisuje zaseba a neprepisuje ten text
Re: Qt
Trieda QLabel ma clena text takze k textu sa dostanes lahko. QString ma zadefinovany operator+= takze z toho vypliva len jedine
Kód: Vybrať všetko
label->setText(label->text + " " + TVOJ_STRING);-
Biohazard66
Light Expert
- Príspevky: 63
- Registrovaný: 08 nov 2011, 19:16
Re: Qt
ale ja tam mám slučku ktorá niečo pripíše 120x
Re: Qt
vo while stačí iba
automaticky sa ti ku starému vypíše nové takže nieje čo riešiť a ešte si daj pozor na okno ak tam máš 120 možnosti alebo aj viac môžeš mat problém s oknom že sa strašne predĺži alebo rozšíri tak stačí použiť
Kód: Vybrať všetko
ui->label->setText(ui->label->text() + " " + xs);Kód: Vybrať všetko
ui->label->setWordWrap(true);