(1)编程:在QT平台中设计出显示出“HelloWorld! 你好 Qt!”字符串窗口的C++程序; (2)在上述程序中添加一个菜单栏和消息响应函数,功能为:显示一对话框“Click Me.”; (3)添加垂直和水平布局,在布局中添加不同控件; (4)主基类选择QMainWindow,添加其他不同控件的消息响应函数。
时间: 2024-02-19 15:03:57 浏览: 120
好的,我来为您解答这些问题。
(1) 在QT平台中设计出显示出“HelloWorld! 你好 Qt!”字符串窗口的C++程序。
您可以按照如下代码编写您的程序:
```c++
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel *label = new QLabel("HelloWorld! 你好 Qt!");
label->show();
return a.exec();
}
```
(2) 在上述程序中添加一个菜单栏和消息响应函数,功能为:显示一对话框“Click Me.”。
您可以按照如下代码修改您的程序:
```c++
#include <QApplication>
#include <QLabel>
#include <QMenuBar>
#include <QMessageBox>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel *label = new QLabel("HelloWorld! 你好 Qt!");
QMenuBar *menuBar = new QMenuBar();
QMenu *menu = new QMenu("菜单");
QAction *action = new QAction("Click Me.", menu);
menu->addAction(action);
menuBar->addMenu(menu);
label->setMenuBar(menuBar);
QObject::connect(action, &QAction::triggered, [=](){
QMessageBox::information(NULL, "Click Me.", "你点击了 Click Me.");
});
label->show();
return a.exec();
}
```
(3) 添加垂直和水平布局,在布局中添加不同控件。
您可以按照如下代码修改您的程序:
```c++
#include <QApplication>
#include <QLabel>
#include <QMenuBar>
#include <QMessageBox>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *widget = new QWidget();
QLabel *label1 = new QLabel("HelloWorld!");
QLabel *label2 = new QLabel("你好 Qt!");
QPushButton *button = new QPushButton("Click Me.");
QVBoxLayout *vLayout = new QVBoxLayout();
QHBoxLayout *hLayout = new QHBoxLayout();
vLayout->addWidget(label1);
vLayout->addWidget(label2);
hLayout->addStretch();
hLayout->addWidget(button);
hLayout->addStretch();
vLayout->addLayout(hLayout);
widget->setLayout(vLayout);
QObject::connect(button, &QPushButton::clicked, [=](){
QMessageBox::information(NULL, "Click Me.", "你点击了 Click Me.");
});
widget->show();
return a.exec();
}
```
(4) 主基类选择QMainWindow,添加其他不同控件的消息响应函数。
您可以按照如下代码修改您的程序:
```c++
#include <QApplication>
#include <QMainWindow>
#include <QMenuBar>
#include <QMessageBox>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
QLabel *label1;
QLabel *label2;
QPushButton *button;
private slots:
void onButtonClicked();
};
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
label1 = new QLabel("HelloWorld!");
label2 = new QLabel("你好 Qt!");
button = new QPushButton("Click Me.");
QVBoxLayout *vLayout = new QVBoxLayout();
QHBoxLayout *hLayout = new QHBoxLayout();
vLayout->addWidget(label1);
vLayout->addWidget(label2);
hLayout->addStretch();
hLayout->addWidget(button);
hLayout->addStretch();
vLayout->addLayout(hLayout);
QWidget *centralWidget = new QWidget();
centralWidget->setLayout(vLayout);
setCentralWidget(centralWidget);
QMenuBar *menuBar = new QMenuBar();
QMenu *menu = new QMenu("菜单");
QAction *action = new QAction("Click Me.", menu);
menu->addAction(action);
menuBar->addMenu(menu);
setMenuBar(menuBar);
connect(button, &QPushButton::clicked, this, &MainWindow::onButtonClicked);
}
MainWindow::~MainWindow()
{
}
void MainWindow::onButtonClicked()
{
QMessageBox::information(this, "Click Me.", "你点击了 Click Me.");
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
```
这样就完成了所有的要求。希望能帮到您!
阅读全文