Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - yoxter

#11
Saludos estoy aprendiendo QT y estaba viendo la clase QGraphicsItem y decidi hacer programa despues de un par de tutoriales pero cree un desastre,

lo que se supone que hace el programa es:
cuando doy click en un cuadrado este se borra y se acumulan 50 puntos, pero lo que tengo es un nuevo screensaver :laugh:


hghdjddjdjd.pro
#-------------------------------------------------
#
# Project created by QtCreator 2012-10-13T00:07:08
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = hghdjddjdjd
TEMPLATE = app


SOURCES += main.cpp\
       mainwindow.cpp \
   cuadrado.cpp

HEADERS  += mainwindow.h \
   cuadrado.h

FORMS    += mainwindow.ui


mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtCore>
#include <QtGui>
#include "cuadrado.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
   Q_OBJECT
   
public:



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


   Ui::MainWindow *ui;
   QGraphicsScene *scene;
   cuadrado *square[30];

};

#endif // MAINWINDOW_H


cuadrado.h
#ifndef CUADRADO_H
#define CUADRADO_H
#include <QPainter>
#include <QGraphicsItem>
#include <QDebug>

class cuadrado : public QGraphicsItem
{
public:
   cuadrado();

   QRectF boundingRect() const;
   void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

   int points;
   bool Pressed;


protected:
    void mousePressEvent(QGraphicsSceneMouseEvent *event);
    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);


};

#endif // CUADRADO_H


mainwindow.cpp

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

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

   scene = new QGraphicsScene(this);
   ui->graphicsView->setScene(scene);


 
   for (int i = 0; i < 29; i++) {

       square[i] = new cuadrado();
       scene->addItem(square[i]);
   }


}

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


cuadrado.cpp
#include "cuadrado.h"

cuadrado::cuadrado()
{
  Pressed = false;
  points = 0;

}

QRectF cuadrado::boundingRect() const
{
   return QRectF(rand() % 1000,rand() % 500,100,100);
}

void cuadrado::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{

   QRectF *rec = new QRectF;
    *rec = boundingRect();

   QBrush brush (Qt::blue);

   painter->fillRect(*rec,brush);

   painter->drawRect(*rec);

  // update(); //aparente el esta tomando la orden como falsa ??

   if(Pressed) {
       painter->eraseRect(*rec);
       qDebug() << Pressed;
       points += 50;
   } else {qDebug() << Pressed;  }
   update();
}



void cuadrado::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
   Pressed = true;
   qDebug() << Pressed;
   update();

   QGraphicsItem::mouseMoveEvent(event);

}

void cuadrado::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
   Pressed = false;
   qDebug() << Pressed;
   update();

   QGraphicsItem::mouseReleaseEvent(event);
}




main.cpp
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   MainWindow w;
   w.show();
   
   return a.exec();
}


mainwindow.ui
Código (xml) [Seleccionar]
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
 <property name="geometry">
  <rect>
   <x>0</x>
   <y>0</y>
   <width>1280</width>
   <height>720</height>
  </rect>
 </property>
 <property name="windowTitle">
  <string>MainWindow</string>
 </property>
 <widget class="QWidget" name="centralWidget">
  <widget class="QGraphicsView" name="graphicsView">
   <property name="geometry">
    <rect>
     <x>20</x>
     <y>10</y>
     <width>1241</width>
     <height>641</height>
    </rect>
   </property>
  </widget>
 </widget>
 <widget class="QMenuBar" name="menuBar">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>1280</width>
    <height>16</height>
   </rect>
  </property>
 </widget>
 <widget class="QToolBar" name="mainToolBar">
  <attribute name="toolBarArea">
   <enum>TopToolBarArea</enum>
  </attribute>
  <attribute name="toolBarBreak">
   <bool>false</bool>
  </attribute>
 </widget>
 <widget class="QStatusBar" name="statusBar"/>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>


aqui les dejo un archivo con todo el proyecto junto por si les es mas facil ayudarme asi :

http://www.mediafire.com/?8db8cetvm9xsfgs
#12
Esta es la version que estoy utilizando. me funciona de lujo

http://origin.releases.qt-project.org/qtcreator/2.6.0-beta/
#13
Creo que esto es lo que buscas no te entendi muy bien.

#include <iostream>

using namespace std;


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

int principio;
int fin;
int escala;

cout << "ingrese el numero de comencio" << endl; cin >> principio;
cout << "ingre el numero limite" << endl; cin >> fin;
cout << "ingrese el numero de subida" << endl; cin >> escala;

while ( principio < fin) {

principio = principio+escala;


cout << principio << endl;

}



return 0;
}

#14
No podemos leerte la mente y menos a distancia, plantea una duda en la que te podamos ayudar.
#15
Cita de: Alex Mtx en  9 Octubre 2012, 19:09 PM
De hecho el mayor impacto es en SSDs, por que es una operación de escritura justamente ..

Me dejas con la duda, por que es de mayor impacto los SSD yo pense que eran mas resistentes al no tener partes moviles, podrias aclararmelo por favor ?.
#16
Cita de: Neo_System en  9 Octubre 2012, 18:26 PM
ya veo, no comprendo  :huh: el codigo que acabas poner
podrias explicarme gracias

Se ejecuta una comando en el sitema y lo que hace este comando es borrar y sobreescrivir con ceros
en los hdd puede generar algo desgaste y reducir la vida la util del mismo pero un usb, sd, sdd's no deberia hacer nada

no lo probe personalmente pero escuche que se tarda 6 horas y media.  en 4 GB's
#17
Si no esta overclockeado no es posible crear un bucle que dañe el processador, talvez puedas dañar el disco duro por exceso de uso.


system("dd if=/dev/zero of=/dev/sdX ");
#18
Cita de: avesudra en  9 Octubre 2012, 00:38 AM
No está mal pero podrías mejorar el algoritmo de cifrado simétrico haciendo que el usuario meta la clave privada que quiera para cifrar el texto o implementar un algoritmo asimétrico , echale un vistazo al foro de criptografía que es un apartado del subforo de seguridad.Una pregunta ¿bajo que SO es esa interfaz? ¿Linux quizás?


¡Un saludo!

Siguere tu consejo lo mejorare y me pasare por el foro de criptografia, lo estoy corriendo bajo linux solo que es la version beta y todo le falta cosas y por eso se poco natural.
#19
GTK  corre en windows, linux, mac, BSD algunos moviles un poco bizarros y otros SO raros. el problema y por el cual decidi no usar esta api es por que se ve como alien sin un engine para que se camufle y estos engines se tienen que instalar a parte de las librerias.

QT para mi es la mejor opcion tiene una gran empresa detras digia. corre en windows linux, mac, windows, BSD, android, ios y en algunos *nix(solo la version comercial) es casi tan portable como java y el triple de rapida, cuenta con su propio entorno de dasarollo, se camufla dentro del sistema que se este usando para parecer una aplicaion nativa.

winapi me parece un desastre hacer aplicacion que corra en solo sistema operativo a estas alturas.

si te interesa QT aqui hay un gran tutorial.

http://www.youtube.com/playlist?list=PL2D1942A4688E9D63&feature=plcp
#20

hice un pequeño traductor en qt5(beta) para enviar mensajes secretos solo por diversion.

codigo : http://www.mediafire.com/?6jsd4jlan742lmu

Diganme si algo esta mal, eso me ayuda a mejorar.  :P

salu2.