'Qt'에 해당되는 글 5건
- 2010.09.23 qt 메뉴 등록
- 2010.09.22 [Qt Designer] 확장 다이얼로그
- 2010.09.18 Qt Designer
- 2010.06.10 Qt Creator Manual
- 2010.06.06 Qt Compile
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 |
전체 다이얼로그 작성
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 |
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 |
[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 |
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 |