qt (1) —— 入门

网友投稿 571 2022-08-27

qt (1) —— 入门

qt (1) —— 入门

环境: Qt Creator 2.8.1 Qt 5.1.1 gcc 4.9.1

我的第一份qt程序

hello wolrd 控制台应用程序

#include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); qDebug()<<"hello world"; return

初识信号槽

再次运行,单击button,窗口自动关闭。

认识基本的窗口

MainWindow对应QMainWindow

menuBar对应QMenuBar,它的下级是menuWindow,子项是actionWindow。

每一个Object都由一个Class对应。

右击pro图标可以增添新的ui,且对应的.h,.cpp等文件会自动加入文件路径。

右下角的窗体是对象的属性列表。

简单UI程序

分析:

, rand()生成100的随机整数。

关键代码

mainwindow.cpp

#include "mainwindow.h"#include "ui_mainwindow.h"#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this);}MainWindow::~MainWindow(){ delete ui;}void MainWindow::on_random_clicked(){ srandom(time(0)); int result = (int)((double)rand()/RAND_MAX*100+0.5); QString str= QString::number(result,10); ui->textEdit->setText(str); ui->textEdit->setAlignment(Qt::AlignHCenter);}

使用空项目创建hello world的窗口程序。

当选择使用空项目进行创建程序后,我们发现整个文件夹只有cpp资源文件和pro配置文件。 初步设想是使用label显示“hello world”,并把label放在QApplication中。 使用帮助我们找到ALable和QApplication,他们的头文件都在/home/edemon/Qt5.1.1/5.1.1/gcc/include/QtWidgets路径下,那么include

SOURCES += \ main.cppQT

main.cpp:

#include #include int main(int argc,char *argv[]){ QApplication app(argc,argv); QLabel *label = new QLabel("hello world."); label->show(); label->setFixedSize(200,60); return

执行:

如果不想在头文件书写路径时那么麻烦,可以在pro配置文件中加上​​QT += core gui declarative​​.

在qt creator中查找帮助

grid布局

空项目练习。 pro:

SOURCES += \ main.cppQT

main.cpp:

#include #include #include #include #include #include #include int main(int argc,char *argv[]){ QApplication app(argc,argv); QWidget *window = new QWidget(); window->setWindowTitle("hello"); QGridLayout *layout = new QGridLayout(); QLabel *label1=new QLabel("name:"); QLineEdit *txt1=new QLineEdit(); QLabel *label2=new QLabel("name:"); QLineEdit *txt2=new QLineEdit(); layout->addWidget(label1,0,0); layout->addWidget(txt1,0,1); layout->addWidget(label2,1,0); layout->addWidget(txt2,1,1); QPushButton *qbutton = new QPushButton("ok"); layout->addWidget(qbutton,2,0); window->setLayout(layout); window->show(); return

拉伸窗口:

竖直布局

空项目练习。 main.cpp

#include #include #include #include #include #include #include #include #include int main(int argc,char *argv[]){ QApplication app(argc,argv); QWidget *window = new QWidget(); window->setWindowTitle("hello"); //QGridLayout *layout = new QGridLayout(); QVBoxLayout *layout = new QVBoxLayout(); //QGridLayout *layout = new QGridLayout(); QLabel *label1=new QLabel("name:"); QLineEdit *txt1=new QLineEdit(); QLabel *label2=new QLabel("name:"); QLineEdit *txt2=new QLineEdit(); layout->addWidget(label1,0); layout->addWidget(txt1,0); layout->addWidget(label2,1); layout->addWidget(txt2,1); QPushButton *qbutton = new QPushButton("ok"); layout->addWidget(qbutton,2,0); window->setLayout(layout); window->show(); return

水平布局

空项目练习。 main.cpp

#include #include #include #include #include #include #include #include #include int main(int argc,char *argv[]){ QApplication app(argc,argv); QWidget *window = new QWidget(); window->setWindowTitle("hello"); //QGridLayout *layout = new QGridLayout(); //QVBoxLayout *layout = new QVBoxLayout(); QHBoxLayout *layout = new QHBoxLayout(); QLabel *label1=new QLabel("name:"); QLineEdit *txt1=new QLineEdit(); QLabel *label2=new QLabel("name:"); QLineEdit *txt2=new QLineEdit(); layout->addWidget(label1); layout->addWidget(txt1); layout->addWidget(label2); layout->addWidget(txt2); QPushButton *qbutton = new QPushButton("ok"); layout->addWidget(qbutton); window->setLayout(layout); window->show(); return

spliter

Qt GUI Application spliter水平或spliter竖直布局都可以拉动部件之间中间的分割线,使得图形变换。

QDir

空项目练习。 QDir可以实现很多路径操作,比如常用的’ls ‘, ‘mkdir’等。 main.cpp

#include #include #include #include #include int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); /* find special path. */ QDir dir("/home/edemon/workspace"); qDebug()<<"worksapce: "<

QStyle改变窗体风格

Qt Gui Applicatuion. main.cpp

#include "mainwindow.h"#include int main(int argc, char *argv[]){ QApplication a(argc, argv); a.setStyle("macintosh"); MainWindow w; w.show(); return a.exec();}/*QStyle * QApplication::setStyle(const QString & style) [static]The string must be one of the QStyleFactory::keys(),typically one of "windows", "fusion", "windowsxp", or "macintosh".Style names are case insensitive. */

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ANSI C (4) —— 存储类别和类型限定
下一篇:ANSI C (6) —— 指针、断言、信号、跳转
相关文章

 发表评论

暂时没有评论,来抢沙发吧~