2016-04-11 3 views
4

エスケープキーの管理を実装してプログラムを終了する方法がわかりません。私はコードのどこに置くべきかわからない。なぜなら、それをメソッドに入れると、どこで終了するのだろうか?エスケープキーを管理してプログラムを終了する

これは私の実際のコードです:

#include <iostream> 
    #include <QApplication> 
    #include <QPushButton> 
    #include <QLineEdit> 
    #include <QFormLayout> 
    #include <QDebug> 
    #include "LibQt.hpp" 

    LibQt::LibQt() : QWidget() 
    { 
     this->size_x = 500; 
     this->size_y = 500; 
     QWidget::setWindowTitle("The Plazza"); 
     setFixedSize(this->size_x, this->size_y); 
     manageOrder(); 
    } 

    LibQt::~LibQt() 
    { 
    } 
void LibQt::manageOrder() 
{ 
    this->testline = new QLineEdit; 
    this->m_button = new QPushButton("Send Order"); 
    QFormLayout *converLayout = new QFormLayout; 

    this->m_button->setCursor(Qt::PointingHandCursor); 
    this->m_button->setFont(QFont("Comic Sans MS", 14)); 
    converLayout->addRow("Order : ", this->testline); 
    converLayout->addWidget(this->m_button); 
    this->setLayout(converLayout); 
    QObject::connect(m_button, SIGNAL(clicked()), this, SLOT(ClearAndGetTxt())); 
} 

std::string  LibQt::ClearAndGetTxt() 
{ 
    QString txt = this->testline->text(); 

    this->usertxt = txt.toStdString(); 
    std::cout << this->usertxt << std::endl; 
    this->testline->clear(); 
    return (this->usertxt); 
} 

std::string  LibQt::getUsertxt() 
{ 
    return (this->usertxt); 
} 

、これはあなたがメソッドvoid QWidget::keyPressEvent(QKeyEvent *event)をオーバーライドする必要が私の.HPP

#ifndef _LIBQT_HPP_ 
#define _LIBQT_HPP_ 

#include <QApplication> 
#include <QWidget> 
#include <QPushButton> 
#include <QLineEdit> 
#include <QKeyEvent> 
#include <QCheckBox> 
#include <QPlainTextEdit> 

class LibQt : public QWidget 
{ 
    Q_OBJECT 

public: 
    LibQt(); 
    ~LibQt(); 
    void manageOrder(); 
    std::string getUsertxt(); 
public slots: 
    std::string ClearAndGetTxt(); 
protected: 
    int size_x; 
    int size_y; 
    QPushButton *m_button; 
    QLineEdit *testline; 
    std::string usertxt; 
}; 

#endif /* _LIBQT_HPP_ */ 

答えて

5

です。

+0

これは完璧に動作します、ありがとうございます! – Michael003

関連する問題