'Qt'에 해당되는 글 5건

  1. 2010.09.23 qt 메뉴 등록
  2. 2010.09.22 [Qt Designer] 확장 다이얼로그
  3. 2010.09.18 Qt Designer
  4. 2010.06.10 Qt Creator Manual
  5. 2010.06.06 Qt Compile

qt 메뉴 등록

|
1. 메뉴바 작성
QMenuBar menuBar = new QMenuBar;
2. 액션 작성
QAction newAction = new QAction(tr("&New"), this);
connect(newAction, SIGNAL(triggered()), this, SLOT(open()));
3. 메뉴를 메뉴바에 추가
fileMenu = menuBar()->addMenu(tr("&File"));
4. 메뉴에 액션 추가
fileMenu->addAction(newAction);


'Qt' 카테고리의 다른 글

[Qt Designer] 확장 다이얼로그  (0) 2010.09.22
Qt Designer  (0) 2010.09.18
Qt Creator Manual  (0) 2010.06.10
Qt Compile  (0) 2010.06.06
And

[Qt Designer] 확장 다이얼로그

|
전체 다이얼로그 작성
More 버튼 (toggle) -> 확장될 위젯들 (setVisible)
cpp의 생성자에서 확장될 위젯들은 hide()
-

'Qt' 카테고리의 다른 글

qt 메뉴 등록  (0) 2010.09.23
Qt Designer  (0) 2010.09.18
Qt Creator Manual  (0) 2010.06.10
Qt Compile  (0) 2010.06.06
And

Qt Designer

|
Qt Designer 실행
폼 작성
formname.ui로 저장 (XML 형식)
main.cpp 작성 (ui_formname.h 인클루드)
qmake -project
qmake gotocell.pro -> ui_formname.h (C++ 형식) 생성됨 (fornname.ui --> ui_formname.h : uic가 수행)

formname.h 작성 (ui_formname.h 인클루드, Ui::formname 상속받아야 함)
formname.cpp 작성 (생성자에서 setupUi(this);를 해주어야 함)
main.cpp 수정 (formname.h 인클루드)

-

'Qt' 카테고리의 다른 글

qt 메뉴 등록  (0) 2010.09.23
[Qt Designer] 확장 다이얼로그  (0) 2010.09.22
Qt Creator Manual  (0) 2010.06.10
Qt Compile  (0) 2010.06.06
And

Qt Creator Manual

|
[File] - New File or Project... Ctrl+N

Projects
Qt4 Gui Application

Introduction and project location
Name: test
Create in: Project
Next click!

Select required modules
Next click!

Class Information
Class name: MyTest
Base class: QWidget
Header file: mytest.h
Source file: mytest.cpp
Generate form: non-checked
Form file: Inactive
Next click!

Project management
Finish click!

Projects
├test.pro ---------- 프로젝트 정보를 담고 있는 파일. Qt Creator에서 컴파일하려면 반드시 프로젝트를 생성해야 함.
├Headers ----------- 헤더 파일 폴더
│  └mytest.h -------- mytest 클래스의 헤더 파일
└Sources ----------- 소스 파일 폴더 ├main.cpp -------- main() 함수가 구현된 소스 파일
└mytest.cpp ------ mytest 클래스 소스 파일


─ │├ 

'Qt' 카테고리의 다른 글

qt 메뉴 등록  (0) 2010.09.23
[Qt Designer] 확장 다이얼로그  (0) 2010.09.22
Qt Designer  (0) 2010.09.18
Qt Compile  (0) 2010.06.06
And

Qt Compile

|
Qt Compile (Windows)

>qmake -project
>qmake main.pro
>mingw32-make

예제1) Hello Qt!
#include <QApplication>
#include <QPushButton>

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

    QPushButton hello("Hello world!");
    hello.resize(100, 30);

    hello.show();
    return app.exec();
}

예제2) Quit
#include <QApplication>
#include <QFont>
#include <QPushButton>

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

    QPushButton quit("Quit");
    quit.resize(75, 30);
    quit.setFont(QFont("Times", 18, QFont::Bold));

    QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));

    quit.show();
    return app.exec();
}

예제3) QWidget
#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QWidget>

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

    QWidget window;
    window.resize(200, 120);

    QPushButton quit("Quit", &window);
    quit.setFont(QFont("Times", 18, QFont::Bold));
    quit.setGeometry(10, 40, 180, 40);
    QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));

    window.show();
    return app.exec();
}

예제4) MyWidget
#include <QApplication>
#include <QFont>
#include <QPushButton>

class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = 0);
};

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    setFixedSize(200, 120);

    QPushButton *quit = new QPushButton("Quit", this);
    quit->setGeometry(62, 40, 75, 30);
    quit->setFont(QFont("Times", 18, QFont::Bold));

    connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MyWidget widget;
    widget.show();
    return app.exec();
}

예제5) LCD display
#include <QApplication>
#include <QFont>
#include <QLCDNumber>
#include <QPushButton>
#include <QSlider>
#include <QVBoxLayout>
#include <QWidget>

class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = 0);
};

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    QPushButton *quit = new QPushButton("Quit");
    quit->setFont(QFont("Times", 18, QFont::Bold));

    QLCDNumber *lcd = new QLCDNumber(2);

    QSlider *slider = new QSlider(Qt::Horizontal);
    slider->setRange(0, 99);
    slider->setValue(0);

    connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
    connect(slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)));

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(quit);
    layout->addWidget(lcd);
    layout->addWidget(slider);
    setLayout(layout);
}

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MyWidget widget;
    widget.show();
    return app.exec();
}

예제6) Layout
#include <QApplication>
#include <QFont>
#include <QGridLayout>
#include <QLCDNumber>
#include <QPushButton>
#include <QSlider>
#include <QVBoxLayout>
#include <QWidget>

class LCDRange : public QWidget
{
public:
    LCDRange(QWidget *parent = 0);
};

LCDRange::LCDRange(QWidget *parent)
    : QWidget(parent)
{
    QLCDNumber *lcd = new QLCDNumber(2);
    QSlider *slider = new QSlider(Qt::Horizontal);
    slider->setRange(0, 99);
    slider->setValue(0);
    connect(slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)));

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(lcd);
    layout->addWidget(slider);
    setLayout(layout);
}

class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = 0);
};

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    QPushButton *quit = new QPushButton("Quit");
    quit->setFont(QFont("Times", 18, QFont::Bold));
    connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));

    QGridLayout *grid = new QGridLayout;
    for (int row = 0; row < 4; ++row) {
    	for (int column = 0; column < 4; ++column) {
    		grid->addWidget(new LCDRange, row, column);
    	}
    }

    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(quit);
    layout->addLayout(grid);
    setLayout(layout);
}

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MyWidget widget;
    widget.show();
    return app.exec();
}











'Qt' 카테고리의 다른 글

qt 메뉴 등록  (0) 2010.09.23
[Qt Designer] 확장 다이얼로그  (0) 2010.09.22
Qt Designer  (0) 2010.09.18
Qt Creator Manual  (0) 2010.06.10
And
prev | 1 | next