Portál AbcLinuxu, 9. května 2025 19:47

Dotaz: qt4

14.10.2009 16:01 guestak
qt4
Přečteno: 207×
Odpovědět | Admin
nevim jak to spojit se slotem v conectu.. mam:

QPushButton btn("calcx"); QObject::connect(&btn, SIGNAL(clicked()), qApp, SLOT(quit())); btn.show();

prosim, jak dostanu o toho SLOTu ten muj "kalkul" ??

QProcess kalkul; kalkul.execute("xcalc");
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

David Watzke avatar 14.10.2009 16:20 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: qt4
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ty chceš aby tlačítko spustilo xcalc... Takže si musíš udělat slot v nějaký svý třídě...
void MainWindow::runCalc()
{
        QProcess::execute("xcalc");
}
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 14.10.2009 16:23 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: qt4
Pardon, místo execute použít start, protože ta první blokuje ;-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
14.10.2009 17:59 Murry | skóre: 16 | Brno
Rozbalit Rozbalit vše Re: qt4
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokud chces pripojit button (kliknuti) k tve fci (kalkul) - staci si vytvorit vlastni slot
V souboru .h udelas sekci "slots" a nadefinujes slot (pr. void slotMyCalculate). Pripojis ho:
QObejct::connect(&btn, SIGNAL(clicked(), qApp, SLOT(slotMyCalculate()));

Pak ho naimplementujes (to se dela vetsinou v soubru .cpp):
void MainWindow::slotMyCalculate()
{
 // nejaky vypocet
}
14.10.2009 18:33 guestak
Rozbalit Rozbalit vše Re: qt4

xautgui.h

mam jen tohle
kam to tam dat a jestli by slo rozepsat
tohle:
V souboru .h udelas sekci "slots" a nadefinujes slot (pr. void slotMyCalculate)


#ifndef XAUTGUI_H
#define XAUTGUI_H

#include <QtGui/QMainWindow>

namespace Ui
{
class xautguiClass;
}

class xautgui : public QMainWindow
{
Q_OBJECT

public:
xautgui(QWidget *parent = 0);
~xautgui();

private:
Ui::xautguiClass *ui;
};

void slotMyCalculate();

#endif // XAUTGUI_H

dal sem to do tabulky protoze tu nikde neni napsano jak vlozit kod, nebo to

neumim najit. editor nechtel vzit ty include..

David Watzke avatar 14.10.2009 19:18 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: qt4
Sekci slots musíš dát do tý třídy, ne pod ní... Viz můj seriál o programování v Qt.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
16.10.2009 10:03 Murry | skóre: 16 | Brno
Rozbalit Rozbalit vše Re: qt4
Soubor .h:
class xautgui : public QMainWindow
{
 Q_OBJECT // dulezite jinak ti to nepojede

public:
 xautgui(QWidget *parent = 0);
 ~xautgui();

private slots:
 void slotMyCalculate();
private:
 Ui::xautguiClass *ui;
};
Soubor .cpp
void xautgui::slotMyCalculate()
{
 // kod
}

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.