Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Il C++11 ha aggiunto una nuovo tipo di enum(strongly typed enum), ma ha mantenuto anche quella classica del C. Per maggiori informazioni guarda la documentazione online(link sotto). In questo caso penso possa bastare anche il vecchio tipo di enum.

    Per quanto riguarda connect basta guardare la documentazione online(link sotto).
    Nel tuo caso connect sarà una cosa del genere:
    codice:
    connect(vai,SIGNAL(clicked()),this,SLOT(actionSlot()));

    In actionSlot controllerai quale radio button è stato selezionato con qualcosa tipo:
    codice:
    void mywindow::actionSlot()
    {
        if( a->isChecked() )          { /*codice */ }
    
       else if( b->isChecked() )  {  /*altro codice */ }
    
        //etc...
    }

    Links:
    C++11 enum: http://en.cppreference.com/w/cpp/language/enum
    QObject::connect: http://qt-project.org/doc/qt-5.0/qtc...html#connect-3

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Quote Originariamente inviata da lovesemiramide Visualizza il messaggio
    In actionSlot controllerai quale radio button è stato selezionato con qualcosa tipo:
    codice:
    void mywindow::actionSlot()
    {
        if( a->isChecked() )          { /*codice */ }
    
       else if( b->isChecked() )  {  /*altro codice */ }
    
        //etc...
    }
    in realtà non può farlo perché i radiobuttons A, B etc. sono dichiarati e costruiti localmente al costruttore della finestra, pertanto non referenziabili dallo slot.
    Si può risolvere in maniera quick 'n' dirty dichiarando tutti quei widgets come campi della classe stessa (nell'header file relativo) per poi costruirli nel costruttore come è fatto ora, in questo modo saranno referenziabili anche nello slot (che appartiene alla stessa classe).
    Un modo più raffinato e strutturato per affrontare la cosa consiste nel creare una classe con una form associata: la form può essere disegnata con il QtDesigner e all'interno della classe i widgets possono essere referenziati con il namespace ui (rimando alla documentazione per dettagli).
    every day above ground is a good one

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.