Musa B.
Kilopat
- Katılım
- 1 Ekim 2017
- Mesajlar
- 1.633
- Makaleler
- 4
- Çözümler
- 13
Daha fazla
- Cinsiyet
- Erkek
Merhaba, QT ile GUI programlar tasarlamaya adım attım. Tabirler konusunda yanlışım olursa affedile. İlk olarak bir sayı tahmin uygulaması tasarladım daha doğrusu Udemy üzerinden aldığım kursta onu tasarlattı. Benim amacım programın sadece bende değil arkadaşlarımda da çalışması yani elde edilebilir bir ".exe" edinmek. INNO ile bir kurulum dosyası oluşturup gerekli dll´leri de o kurulumun içine attım. Programı sorunsuz olarak kurulum dosyası oluştu, programı kurdum ve açmayı denediğimde şu hatayı alıyorum:
İnternette araştırdığımda Python ile ilgili bir şeyler çözüm olarak önermişler fakat bilgisayarımda Python dahi kurulu değil ve programı C++ ile yazıyorum. Tekrar kurmayı da denedim bu arada.
Kodlar da şöyle;
[CODE lang="cpp" title="Header Dosyası"]#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_guessButton_clicked();
void on_startOverButton_clicked();
private:
Ui::Widget *ui;
int secretNumber, guessNumber, falseGuess = 0, trueGuess = 0;
};
#endif // WIDGET_H
[/CODE]
[CODE lang="cpp" title="main.cpp"]#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
[/CODE]
[CODE lang="cpp" title="widget.cpp"]#include "widget.h"
#include "ui_widget.h"
#include <stdlib.h>
#include <time.h>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
srand(time(NULL));
secretNumber = rand() % 10 + 1;
qDebug() << "Secret number generated: " << QString::number(secretNumber);
ui->startOverButton->setDisabled(true);
}
Widget::~Widget()
{
delete ui;
}
void Widget:n_guessButton_clicked()
{
guessNumber = ui->spinBox->value();
qDebug() << "Guess number is: " << QString::number(guessNumber);
ui->startOverButton->setDisabled(false);
if(guessNumber == secretNumber)
{
trueGuess++;
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
ui->messagDisplayBox->setText("Adam ADAM! Bildin lan kerata seni!\nYeni sayın hazır! Bul bakalım.");
secretNumber = rand() % 10 + 1;
}
else
{
falseGuess++;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
if(secretNumber < guessNumber)
{
ui->messagDisplayBox->setText("Yükseklerdesin paşam! Alçak ezcük");
}
if(secretNumber > guessNumber)
{
ui->messagDisplayBox->setText("İstikbal göklerde aslan parçası!");
}
}
if(trueGuess == 5)
{
ui->messagDisplayBox->setText("Anlaşılan balla gusül alınmış!");
}
if(trueGuess == 10)
{
ui->messagDisplayBox->setText("Zemzemle abdest almışsın maşallah!");
}
if(trueGuess == 20)
{
ui->messagDisplayBox->setText("Pü pü pü pü maşallah! Yavrum benim be!");
}
if(trueGuess == 50)
{
ui->messagDisplayBox->setText("Çıkar gölgesinde serinleyelim reis!");
}
if(falseGuess == 5)
{
ui->messagDisplayBox->setText("İpucu verdiğim halde 5 yanlış ne lan!");
}
if(falseGuess == 10)
{
ui->messagDisplayBox->setText("Nasıl olsa kimse görmüyo götünden at!\nYani sanırım görmüyo ");
}
if(falseGuess == 20)
{
ui->messagDisplayBox->setText("Niyet ettim Allah rızası için gusül abdesti\nalmaya!");
}
if(falseGuess == 100)
{
ui->messagDisplayBox->setText("Yürü git gözüm görmesin!\nSıfırdan başlatıyorum adam ol!");
ui->spinBox->setValue(1);
secretNumber = rand() % 10 + 1;
trueGuess = 0;
falseGuess = 0;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
}
}
void Widget:n_startOverButton_clicked()
{
ui->spinBox->setValue(1);
secretNumber = rand() % 10 + 1;
ui->messagDisplayBox->setText("");
trueGuess = 0;
falseGuess = 0;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
}
[/CODE]
İnternette araştırdığımda Python ile ilgili bir şeyler çözüm olarak önermişler fakat bilgisayarımda Python dahi kurulu değil ve programı C++ ile yazıyorum. Tekrar kurmayı da denedim bu arada.
Kodlar da şöyle;
[CODE lang="cpp" title="Header Dosyası"]#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_guessButton_clicked();
void on_startOverButton_clicked();
private:
Ui::Widget *ui;
int secretNumber, guessNumber, falseGuess = 0, trueGuess = 0;
};
#endif // WIDGET_H
[/CODE]
[CODE lang="cpp" title="main.cpp"]#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
[/CODE]
[CODE lang="cpp" title="widget.cpp"]#include "widget.h"
#include "ui_widget.h"
#include <stdlib.h>
#include <time.h>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
srand(time(NULL));
secretNumber = rand() % 10 + 1;
qDebug() << "Secret number generated: " << QString::number(secretNumber);
ui->startOverButton->setDisabled(true);
}
Widget::~Widget()
{
delete ui;
}
void Widget:n_guessButton_clicked()
{
guessNumber = ui->spinBox->value();
qDebug() << "Guess number is: " << QString::number(guessNumber);
ui->startOverButton->setDisabled(false);
if(guessNumber == secretNumber)
{
trueGuess++;
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
ui->messagDisplayBox->setText("Adam ADAM! Bildin lan kerata seni!\nYeni sayın hazır! Bul bakalım.");
secretNumber = rand() % 10 + 1;
}
else
{
falseGuess++;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
if(secretNumber < guessNumber)
{
ui->messagDisplayBox->setText("Yükseklerdesin paşam! Alçak ezcük");
}
if(secretNumber > guessNumber)
{
ui->messagDisplayBox->setText("İstikbal göklerde aslan parçası!");
}
}
if(trueGuess == 5)
{
ui->messagDisplayBox->setText("Anlaşılan balla gusül alınmış!");
}
if(trueGuess == 10)
{
ui->messagDisplayBox->setText("Zemzemle abdest almışsın maşallah!");
}
if(trueGuess == 20)
{
ui->messagDisplayBox->setText("Pü pü pü pü maşallah! Yavrum benim be!");
}
if(trueGuess == 50)
{
ui->messagDisplayBox->setText("Çıkar gölgesinde serinleyelim reis!");
}
if(falseGuess == 5)
{
ui->messagDisplayBox->setText("İpucu verdiğim halde 5 yanlış ne lan!");
}
if(falseGuess == 10)
{
ui->messagDisplayBox->setText("Nasıl olsa kimse görmüyo götünden at!\nYani sanırım görmüyo ");
}
if(falseGuess == 20)
{
ui->messagDisplayBox->setText("Niyet ettim Allah rızası için gusül abdesti\nalmaya!");
}
if(falseGuess == 100)
{
ui->messagDisplayBox->setText("Yürü git gözüm görmesin!\nSıfırdan başlatıyorum adam ol!");
ui->spinBox->setValue(1);
secretNumber = rand() % 10 + 1;
trueGuess = 0;
falseGuess = 0;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
}
}
void Widget:n_startOverButton_clicked()
{
ui->spinBox->setValue(1);
secretNumber = rand() % 10 + 1;
ui->messagDisplayBox->setText("");
trueGuess = 0;
falseGuess = 0;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
}
[/CODE]
Son düzenleyen: Moderatör: