Computero
-
Total de itens
2 -
Registro em
-
Última visita
Posts postados por Computero
-
-
Fala galera,
faço computação ( óbvio ) e to precisando de ajuda num trabalho de Linguagens de Programação
Preciso fazer um programa com interface gráfica usando C++ com wxWidgets , e preciso de apresentar recursos de linguagem no trabalho..
O Problema é o seguinte , preciso de um botão pra comecar a ação , ir imprimindo na propria interface, e quando solicitado o botão parar, ele pausa o processamento, e deixa uma lista de todos os numeros impressos até a pausa..
Nada mais é, que cálculo de números primos, só que tá fudendo é a interface.. alguém dá uma ajuda?
O máximo que conseguir foi o botão iniciar, mas quando inicio ele imprimi no terminal ¬¬'' ..
valeu galera !!!
Ajuda - Interface com wxWidgets
em C, C++
Postado
#include "janela.h"
#include <iostream>
using namespace std;
// Classe Janela, para demonstrar uma janela que responde eventos.
enum
{
ID_BOTAO = 1,
};
Janela::Janela(const wxString& titulo, const wxSize& tamanho, const wxPoint& posicao) :
wxFrame(NULL, wxID_ANY, titulo, posicao, tamanho),
ptPainel(new wxPanel(this, wxID_ANY)),
ptBotao(new wxButton(ptPainel, ID_BOTAO, wxT("Iniciar")))
{
}
void Janela::QuandoMudarTamanho(wxSizeEvent& e)
{
int x, y;
GetClientSize(&x, &y);
ptPainel->SetSize(x,y);
int xBt, yBt;
ptBotao->GetSize(&xBt, &yBt);
ptBotao->Move((x-xBt)/2, static_cast<int>((y-yBt)*0.8));
}
void Janela::QuandoFechar(wxCloseEvent& evento)
{
wxMessageDialog* ptDialogoFechar =
new wxMessageDialog(NULL,
wxT("Tem certeza que quer sair?"),
wxT("Confirmação"),
wxYES_NO | wxNO_DEFAULT | wxICON_QUESTION);
int resposta = ptDialogoFechar->ShowModal();
ptDialogoFechar->Destroy();
if (resposta == wxID_YES)
Destroy();
else
evento.Veto();
// Cancelar o evento usando "Veto()" conforme recomendado em
// http://zetcode.com/tutorials/wxwidgetstutorial/events/
}
void Janela::QuandoClicarBotao(wxCommandEvent& e)
{
int inicioIntervalo = 0, fimIntervalo = 99999999;
int i, j;
for(i = inicioIntervalo + 1; i < fimIntervalo; i++){
int ePrimo = 1;
for(j = 2; j <= i / 2; j++){
if(i % j == 0){
ePrimo = 0;
break;
}
}
if(ePrimo == 1) {
cout<<"\n"<<i;
}
}
}
BEGIN_EVENT_TABLE(Janela, wxFrame)
EVT_SIZE ( Janela::QuandoMudarTamanho)
EVT_BUTTON (ID_BOTAO, Janela::QuandoClicarBotao)
EVT_CLOSE ( Janela::QuandoFechar)
END_EVENT_TABLE()
Preciso que o Evento QuandoClicarBotao ative um evento pra imprimir na Interface ..