Ricerca…


Osservazioni

Come indicato nella documentazione ufficiale , Qt è un framework di sviluppo di applicazioni multipiattaforma per desktop, embedded e mobile. Le piattaforme supportate includono Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS e altri.

Questa sezione fornisce una panoramica di cosa sia Qt e perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare qualsiasi argomento di grandi dimensioni all'interno di Qt e collegarsi agli argomenti correlati. Poiché la documentazione per qt è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Versioni

Versione Data di rilascio
Qt 3.0 2001/10/16
Qt 3.3 2004-02-05
Qt 4,1 2005-12-20
Qt 4,8 2011-12-15
Qt 5.0 2012/12/19
Qt 5.6 2016/03/16
Qt 5.7 2016/06/16
Qt 5.8 2017/01/23
Qt 5.9 2017/05/31

Installazione e installazione su Windows e Linux

Scarica Qt per Linux Open Source Version

Vai a https://www.qt.io/download-open-source/ e fai clic su Scarica ora, assicurati di scaricare il programma di installazione Qt per Linux.

Pagina di download open source Qt Linux

Un file con il nome qt-unified-linux-x-online.run verrà scaricato, quindi aggiungere il permesso exec

chmod +x qt-unified-linux-x-online.run

Ricordarsi di cambiare "x" per la versione attuale del programma di installazione. Quindi esegui il programma di installazione

./qt-unified-linux-x-online.run

Scarica Qt per Windows Open Source Version

Vai a https://www.qt.io/download-open-source/ . La seguente schermata mostra la pagina di download su Windows:

Qt Pagina di download open source di Windows

Quello che dovresti fare ora dipende da quale IDE intendi utilizzare. Se si intende utilizzare Qt Creator, incluso nel programma di installazione, fare clic su Scarica ora ed eseguire l'eseguibile.

Se si utilizza Qt in Visual Studio, normalmente anche il pulsante Scarica ora dovrebbe funzionare. Assicurati che il file scaricato si chiami qt-opensource-windows-x86-msvc2015_64-xxxexe o qt-opensource-windows-x86-msvc2015_32-xxxexe (dove xxx è la versione di Qt, ad esempio 5.7.0). In caso contrario, fai clic su Visualizza tutti i download e seleziona una delle prime quattro opzioni in Windows Host.

Se si utilizza Qt in Code :: Blocks, fare clic su Visualizza tutti i download e selezionare Qt xxx per Windows a 32 bit (MinGW xxx, 1,2 GB) in Host Windows.

Una volta scaricato il file di installazione appropriato, esegui il file eseguibile e segui le istruzioni di seguito. Nota che devi essere un amministratore per installare Qt. Se non sei un amministratore, puoi trovare diverse soluzioni alternative qui .

Installa Qt in qualsiasi sistema operativo

Una volta scaricato Qt e aperto il programma di installazione, la procedura di installazione è la stessa per tutti i sistemi operativi, anche se gli screenshot potrebbero sembrare un po 'diversi. Gli screenshot qui forniti sono di Linux.

Accedi con un account Qt esistente o creane uno nuovo:

Qt installer

Selezionare un percorso per installare le librerie e gli strumenti Qt

percorso di installazione

Seleziona la versione della libreria e le funzionalità che desideri

Qt caratteristiche

Dopo aver scaricato e completata l'installazione, accedere alla directory di installazione Qt e avviare Qt Creator o eseguirlo direttamente dalla riga di comando.

inserisci la descrizione dell'immagine qui

Ciao mondo

In questo esempio, semplicemente creiamo e mostriamo un pulsante in una cornice della finestra sul desktop. Il pulsante avrà l'etichetta Hello world!

Questo rappresenta il programma Qt più semplice possibile.

Prima di tutto abbiamo bisogno di un file di progetto:

helloworld.pro

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = helloworld
TEMPLATE = app

SOURCES += main.cpp
  • QT viene utilizzato per indicare quali librerie (moduli Qt) vengono utilizzate in questo progetto. Poiché la nostra prima app è una piccola GUI, avremo bisogno di QtCore e QtGui. Essendo Qt5 separato da QtWidgets da QtGui, abbiamo bisogno di aggiungere greaterThan riga più grande per compilarlo con Qt5.
  • TARGET è il nome dell'app o della biblioteca.
  • TEMPLATE descrive il tipo da costruire. Può essere un'applicazione (app), una libreria (lib) o semplicemente sottodirectory (sottodirectory).
  • SOURCES è un elenco di file di codice sorgente da utilizzare durante la creazione del progetto.

Abbiamo anche bisogno del main.cpp che contiene un'applicazione Qt:

main.cpp

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QPushButton button ("Hello world!");
    button.show();

    return a.exec(); // .exec starts QApplication and related GUI, this line starts 'event loop'    
}
  • QApplicazione oggetto. Questo oggetto gestisce le risorse a livello di applicazione ed è necessario per eseguire qualsiasi programma Qt con una GUI. Ha bisogno di argv e arg perché Qt accetta alcuni argomenti della riga di comando. Quando si chiama a.exec() viene avviato il ciclo di eventi Qt.
  • Oggetto QPushButton. Il pulsante con l'etichetta Hello world! . La riga successiva, button.show() , mostra il pulsante sullo schermo nella sua cornice della finestra.

Infine, per eseguire l'applicazione, apri un prompt dei comandi e inserisci la directory in cui è presente il file .cpp del programma. Digitare i seguenti comandi della shell per creare il programma.

qmake -project
qmake
make

Applicazione di base con QtCreator e QtDesigner

QtCreator è, al momento, lo strumento migliore per creare un'applicazione Qt. In questo esempio, vedremo come creare una semplice applicazione Qt che gestisca un pulsante e scriva del testo.

Per creare una nuova applicazione, fare clic su File-> Nuovo file o progetto:

inserisci la descrizione dell'immagine qui

Quindi scegli l'applicazione Progetti-> Applicazione-> Qt Widget

inserisci la descrizione dell'immagine qui

Quindi puoi scegliere il nome e il percorso del tuo progetto:

inserisci la descrizione dell'immagine qui

Successivamente, puoi scegliere i kit che utilizzerai. Se non hai alcun kit, QtCreator creerà un kit con la tua versione Qt e il compilatore principale del tuo computer. Se non hai alcun compilatore, puoi installarne uno. Su Windows: installa Visual Studio. Su Linux / Mac: installa g ++ o clang ++.

inserisci la descrizione dell'immagine qui

Quindi è possibile scegliere il nome della classe della finestra principale, la classe ereditata, il nome del file corrispondente alla classe della finestra principale. Se stai imparando o testando Qt, non hai davvero bisogno di cambiarli.

inserisci la descrizione dell'immagine qui

L'ultimo passaggio può essere quello di scegliere un sottoprogetto di questo progetto e aggiungere un controllo di versione come git e svn. Anche in questo caso, se è solo per i test, non è necessario modificarli.

inserisci la descrizione dell'immagine qui

Quindi fare clic sul pulsante Fine. Ora dovresti essere qui:

inserisci la descrizione dell'immagine qui

Questa è la base della tua applicazione. se lo esegui ora facendo clic su Build-> Esegui o ctrl + R (per impostazione predefinita) vedrai una finestra vuota.

Ora aggiungeremo un testo e un pulsante. per farlo, utilizzeremo Qt Designer. Fai doppio clic sul file mainwindow.ui Quindi ora dovresti vedere: (se no e vedi qualche file xml, clicca sul pulsante Design a sinistra)

inserisci la descrizione dell'immagine qui

Qui Designer Qt! Sembra abbastanza complicato. Ma una volta che ci si abitua, è davvero fantastico. Aggiungeremo del testo e un pulsante. A sinistra, c'è l'elenco degli articoli. È possibile fare clic su uno e trascinare e rilasciare gli oggetti. Fare clic sul pulsante Push e rilasciarlo nella finestra. Quindi cerca l'etichetta e fai lo stesso (hai un filtro in alto a sinistra dove puoi scrivere l'oggetto che stai cercando).

Dovresti avere qualcosa di simile ora:

inserisci la descrizione dell'immagine qui

Facendo doppio clic sull'oggetto, è possibile modificare il testo su di essi. Oppure puoi vedere in basso a destra le proprietà dell'oggetto che sei ora e trovare la proprietà del testo. Qui puoi anche cambiare il nome.

Ora se si salva ed è eseguito (meglio fare clic sul pulsante Modifica quindi salvare di nuovo per essere sicuri che le modifiche siano state salvate), si ottiene:

inserisci la descrizione dell'immagine qui

Eh? Perché la mia etichetta e il mio pulsante sono così quando corro? È perché non c'è un layout nel nostro oggetto centrale. A proposito, se ridimensionate la finestra principale, potete vedere che l'oggetto mantiene il loro posto. Quindi per risolverlo aggiungeremo un layout. Diciamo un layout verticale. Quindi trascina e rilascia un layout verticale dall'elenco degli oggetti a sinistra. Ora dovresti vedere:

inserisci la descrizione dell'immagine qui

Un layout fluttuante.

Quindi ora fai clic destro sulla finestra principale, ovunque tranne sull'etichetta e sul pulsante. c \ Fare clic su Lay out-> Lay Out Vertically. Ora dovresti vedere che i tuoi oggetti sono allineati verticalmente nella tua finestra. Quindi ora sposta (con trascina e rilascia di nuovo) l'etichetta e il pulsante nel layout. ora dovresti ottenere:

inserisci la descrizione dell'immagine qui

Nel tuo designer. E se esegui l'applicazione:

inserisci la descrizione dell'immagine qui

Qui puoi vedere la tua applicazione con l'etichetta e il pulsante. E se ridimensionate la finestra, anche l'etichetta e il pulsante si ridimensionano.

Ma il nostro pulsante non sta ancora facendo nulla. Possiamo cambiarlo in 2 modi diversi. Il primo è connettere il pulsante con un metodo che abbiamo creato. Possiamo farlo con il nome del metodo connect. Quindi torniamo al nostro codice e andiamo a mainwindow.cpp ora aggiungiamo:

connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(whenButtonIsClicked()));

Nel costruttore della tua MainWindow DOPO ui->setupUI(this); che inizializza l'interfaccia utente.

Quindi possiamo creare MainWindow :: whenButtonIsClicked () nella nostra classe .cpp che potrebbe cambiare il testo dell'etichetta in questo modo:

void MainWindow::whenButtonIsClicked()
{
    ui->label->setText("the button has been clicked !");
}

E nella nostra mainwindow.h, dobbiamo aggiungere:

public slots:
    void whenButtonIsClicked();

Le aree pubbliche indicano che questo metodo può essere chiamato quando viene ricevuto un segnale. collegare collegare il segnale quando si fa clic sul pulsante e un metodo per chiamare.

Quindi ora se eseguiamo la nostra applicazione e clicchiamo sul pulsante, otteniamo:

inserisci la descrizione dell'immagine qui

Il che significa che la nostra connessione funziona. Ma con Qt Designer abbiamo un modo ancora più semplice per farlo. Se vuoi fare l'altro modo, rimuovi il collegamento per scollegare il pulsante (poiché lo collegheremo in modo diverso), torna a mainwindow.ui e fai clic con il pulsante destro del mouse sul pulsante. Clicca su Vai allo slot ..., seleziona cliccato () e premi ok.

inserisci la descrizione dell'immagine qui

Quindi dovresti essere spostato su questa funzione:

void MainWindow::on_pushButton_clicked()
{
}

Questa è la funzione che verrà chiamata quando si fa clic sul pulsante. Quindi puoi aggiungere

ui->label->setText("it's even easier !");

Dentro. Vai al mainwindow.h per salvare la modifica (quando fai un passaggio allo slot, crea un metodo collegato al segnale che hai richiesto. Definisce la funzione nel file .h ma non la salva. al file e salvarlo).

E ora quando esegui la tua applicazione e premi il pulsante, puoi vedere il nuovo messaggio (se vedi ancora quello vecchio, è che non hai rimosso la connessione).

inserisci la descrizione dell'immagine qui

Possiamo anche aggiungere un int, double, etc nella nostra etichetta grazie a QVariant che è una classe fantastica che può convertire molte cose in molte altre cose. Così a sinistra aggiungi un int che aumenta quando premiamo il pulsante.

Quindi il .h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

public slots:
    void whenButtonIsClicked();

private slots:
    void on_pushButton_clicked();

private:
    Ui::MainWindow  *ui;
    double          _smallCounter;
};

#endif // MAINWINDOW_H

Il .cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
//    connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(whenButtonIsClicked()));
    _smallCounter = 0.0f;
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::whenButtonIsClicked()
{
    ui->label->setText("the button has been clicked !");
}

void MainWindow::on_pushButton_clicked()
{
    _smallCounter += 0.5f;
    ui->label->setText("it's even easier ! " + QVariant(_smallCounter).toString());
}

E ora, possiamo salvare e correre di nuovo. Ogni volta che fai clic sul pulsante, mostra "è ancora più semplice!" Con il valore di _smallCounter. Quindi dovresti avere qualcosa del tipo:

inserisci la descrizione dell'immagine qui

Questo tutorial è fatto. Se vuoi saperne di più su Qt, vediamo gli altri esempi e la documentazione di Qt sulla Documentazione StackOverflow o sulla documentazione Qt



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow