看了一下啊Qt的布局管理机制和Qt的控件,就综合到一起,写了一个简易的Qt代码

还有就是想问一下是否有入门的Qt程序比如实现计算器类型的可以练一下手,巩固一下学的知识!

main.cpp

<pre style="margin-top: 0px; margin-bottom: 0px;"><span style="
color:#000080;">#include</span><span style=" color:#c0c0c0;"> </span><span
style=" color:#008000;">"mainwindow.h"</span> #include <QApplication> int main(
int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show();
return a.exec(); }

mainwindow.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include
<QMenu> #include<QMenuBar> #include<QAction> #include<QToolBar> #include
<QDialog> #include<QPushButton> #include<QVBoxLayout> #include<QHBoxLayout>
#include<QGridLayout> #include<QLineEdit> #include<QLabel> class MainWindow :
public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~
MainWindow(); protected: QMenu *File; QMenu *Edit; QMenu *Window; QMenu *Help;
QMenuBar *total; QAction *open; QAction *save; QAction *cancel; QAction *chat;
QToolBar *Tool1; QToolBar *Tool2; public slots: void openclicked();//定义槽函数 };
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow
(parent) { this->setFixedSize(400,300); open=new QAction(QIcon(":/image/clean"),
"open",this); open->setStatusTip("you will open a messagebox"); statusBar();
//它是类的函数所以可以直接调用,显示状态栏 save=new QAction(QIcon(":/image/download"),"save",this);
cancel=new QAction(QIcon(":/image/alert"),"cancel",this); chat=new QAction(QIcon
(":/image/chat"),"chat",this); File=new QMenu(" File ");//往菜单栏内添加动作 File
->addAction(open); Edit=new QMenu(" Edit "); Edit->addAction(chat); Window=new
QMenu(" Window "); Window->addAction(cancel); Help=new QMenu(" Help "); Help
->addAction(save); menuBar()->addMenu(File); //往主窗口添加菜单项 menuBar()->addMenu(Edit
); menuBar()->addMenu(Window); menuBar()->addMenu(Help); Tool1=new QToolBar(this
);//向工具栏内添加动作 Tool1->addAction(open); Tool1->addAction(cancel); Tool2=new
QToolBar(this); Tool2->addAction(save); Tool2->addAction(chat); addToolBar(Qt::
TopToolBarArea,Tool1);//把这两个工具栏添加到窗口 addToolBar(Qt::TopToolBarArea,Tool2);
connect(open,SIGNAL(triggered()),this,SLOT(openclicked())); } class dialog:
public QDialog { public: QPushButton *button1; QPushButton *button2; QLineEdit *
lineidt; QLabel *label; QGridLayout *gridlayout; dialog()//构造函数 { this
->setFixedSize(600,400); button1=new QPushButton("choose"); button2=new
QPushButton("quit"); label=new QLabel("input data"); lineidt=new QLineEdit("");
gridlayout=new QGridLayout(this); gridlayout->addWidget(label,0,0); gridlayout
->addWidget(lineidt,0,1); gridlayout->addWidget(button1,1,0); gridlayout
->addWidget(button2,1,1); connect(button2,SIGNAL(clicked()),this,SLOT(close()));
setLayout(gridlayout); } ~dialog() { } }; void MainWindow::openclicked() {
dialog a; a.exec(); } MainWindow::~MainWindow() { }

技术
©2020 ioDraw All rights reserved
JS基础重点知识实验总结(全)error: (-215:Assertion failed)解决方案逆向工程核心原理笔记(一)——Hello World-1特征工程详解PHP中的die、exit、return特朗普的"VIP疗法":正接受一种尚未获批的药物治疗HashMap实现LRU(最近最少使用)缓存更新算法三分钟看懂神经网络机器翻译SK海力士全球首发DDR5内存:频率冲上5600MHz、容量可达256GB日经:索尼和铠侠正积极申请华为供货许可