QT fragen



  • ich hätte da 2 fragen zu QT und zwar

    1. wie realisiere ich eine timer mit QT?

    2. wie realisierer ich ein traybar/taskbar icon mit QT

    sollte beides mit standard qt gehen da es plattform unabhängig seinh soltte

    kann mir jemand enrtweder einfache tutorials zu den themen oder code dazu posten?

    danke im voraus

    shade, the elite 🙂





  • bringt mir nix ich arbeite mit qt 3.x und des ist vier.null
    naja such trotzdem und nochmal danke

    ----------------------------
    die welt war sicher un d dann kann windoof



  • Dann eben die 3.3 Variante http://doc.trolltech.com/3.3/index.html



  • danke timer gefunden aber entweder ich bin zu blöd oder die tray/task ding steht net drin aber des muss es geben weil skype sis in QT geproggt is und des ein task/tray icon hat

    the shade



  • also, mal was ganz wichtiges first! tray sind os abhängig!!!
    das heißt wenn du kde benutzt, dann hast du da was lustiges wie:

    KSystemTray* tray = new KSystemTray();
    tray->setPixmap(QPixmap("network_connected.png") );
    

    stehen, unter windows, naja mit der api hab ich mich nicht beschäftigt, aber kde setzt ja auf modifizierte qt-libs. prog doch für linux 😋



  • //impl.
    timer.start(int, false);
    

    ist ein timer, den musst du

    //main
    QObject::connect( &(window.timer ), SIGNAL(timeout()), &window, SLOT(time_out() ) );
    

    connecten
    und z.b. das ausführen!

    //impl.
     void eagle_gui::time_out() 
     {     
       lCDNumber_time_remaining->display( --lcdvalue );
       slider_timeadj->setValue(lcdvalue);
       spinBox1->setValue(lcdvalue);
       if(lcdvalue == 0) {
         timer.stop();
         stopadsl();
         textLabel_timeractive->setEnabled(true);
         QMessageBox::information( this, "Timer", "Zeit ist abgelaufe, Verbindung wird getrennt." );
       }
    }
    


  • ja den timer hab ich schon und tray is erst mak net so wichtig
    aber bei dem code sagt mein compiler
    [quote]main.cpp line 6: Statement missing ; in fuction qMain(int, char * * )

    #include <clshut.h>
    
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
        shutdown shut;
        return app.exec();
    }
    

    ivh versteh das nnet den beizeile 5, 6, 7 sind doch semikolons
    ich hab bcc 5.5.1 und QT 3.2.1 und auch msvc 98 (6.0)
    aber des will ich net denn ich mach des prog für die schule weil des an den teminals die schuler nach 10 min abmelden soll
    und dann die melkdung von msvc mit nich kommerziell nervt weil mann wenn mann nicht OK klickt des prog in standby gelegt hat.
    danke abe r für den online.referenz link



  • Fehlt vielleicht "#include <qapplication.h>" ?

    MFG



  • ne das in der header file clshut.h

    #include <qapplication.h>
    #include <qwidget.h>
    #include <qstring.h>
    #include <winuser.h>
    #include <qtimer.h>
    // #include <qmessagebox.h>
    
    class shutdown : public QWidget
    {
    		Q_OBJECT
    	public:
    		shutdown(QWidget *parent, const char * name);
    		void init();
    	public slots:
    		void start();
    		void logout();
    		void exit();
    	private:
    		bool running;
    		// QString status;
    		bool warned;
    		int ret;
    		QTimer timer1;
    		QTimer timer2;
    };
    

    und gleich noch die implemetierung

    #include "clshut.h"
    
    shutdown::shutdown(QWidget *parent = 0, const char *name = 0) : QWidget(parent, name)
    {
    	start();
    	// ret = QMessageBox((QString)"Warnung", tr(status), QMessageBox::Warning);
    	// status = status+"Der CountDown läuft...";
    	init();
    }
    void shutdown::init()
    {
    	// status = "&Du hast noch 10 Minuten Zeit";
        running = false;
        warned = false; 
    }
    void shutdown::start()
    {
    	if(!running)
    	{
    		running = true;
    		ret = timer1.start(10*60*1000);
    		connect(&timer1, SIGNAL(timeout()), this, SLOT(logout())); 
    	}
    	else
    	{
    		logout();
    	}
    }
    void shutdown::logout()
    {
    	if(!warned)
        {
    		warned = true;
    		/*
    		ret = QMessageBox((QString)"&Letzte Warnung", (QString)"Du hast noch 2\
    		minuten zeit dann wirst du automatisch ausgeloggt.\
    		 \nSichere alle daten und klick auf OK.wenn du vorher auf OK \
    		klickst werden deine Daten nicht gesichert!!", QMessageBox::Warning,\
    		QMessageBox::Default));
    		*/
    		ret = timer2.start(120*1000);
            connect(&timer2, SIGNAL(timeout()), this, SLOT(exit()));
        }
    }
    void shutdown::exit()
    {
         ExitWindows(0, 0);
    }
    

    aber er wollte ja ein ; und haate kaine unknown objects
    gibts villeicht einen besseren freeware kompiler der unter win mit QT funzt
    unter lin hab ich den gcc aber des geht unter win nicht mit
    QT


Log in to reply