Qt – Menu – C++ – Linux

Publicado: 4 de outubro de 2014 em C/C++

Em computação um menu é uma lista de opções ou comandos apresentados a um operador por um computador. Os menus são, por vezes, hierarquicamente organizado, permitindo uma navegação através de diferentes níveis da estrutura do menu.  A seleção de um item do menu com uma seta irá expandi-lo, mostrando um segundo menu (o sub menu) com opções relacionadas com a entrada selecionada. É possível adicionar outros componentes ao menu como ícones de imagem, um componente de botões de radio e até mesmos botões de cheque. O menu em alguns sistemas operacionais são localizados na barra de titulo/tarefas no topo do sistema e não no próprio aplicativo.

Qt - Menu

Qt – Menu

Qt Creator – Design

1 – Crie um novo projeto de Widget do Qt, você pode perceber que os componentes Menu, Barra de tarefas e a barra de status já são criados por padrão. Neste primeiro momento vamos utilizar apenas o Widget menu. Você pode clicar diretamente no item do menu e criar os menus digitando os nomes da opções que você precisa, use a figura abaixo para o design do seu menu:

Criando Menu

Criando Menu

2 – Coloque dois Labels no formulário e mude suas propriedades de texto como na imagem do programa logo acima . Para criar os Slots para os eventos de clique do menu você precisa utilizar a aba Action Editor que esta localizada abaixo da área de edição do seu formulário. Clique em cada ação e com o botão direito do mouse escolha a opção Go to Slot:

Menu Actions - Slots

Menu Actions – Slots

Utilize o código abaixo para preencher o código gerado automaticamente e clique em RUN para rodar o programa.

Exemplo:

Neste exemplo criamos o menu em Design Time e criamos um Slot para cada ação do menu, as ações serão responsáveis por nos dizer qual menu foi clicado utilizando um componente Label no centro do formulário.

Para a versão deste programa para C++ Windows MFC: clique aqui.

C++

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

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

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

void MainWindow::on_actionMenu_1_triggered()
{
   ui->label_2->setText("Você clicou no: Menu opção 1");
}

void MainWindow::on_actionMenu_2_triggered()
{
   ui->label_2->setText("Você clicou no: Menu opção 2");
}

void MainWindow::on_actionMenu3_triggered()
{
    ui->label_2->setText("Você clicou no: Menu opção 3 Sub Menu opção 1");
}
void MainWindow::on_actionMenu_4_triggered()
{
    ui->label_2->setText("Você clicou no: Menu opção 4");
}

 

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s