彩票走势图

跨平台开发工具Qt入门教程:如何使用QWidget?

翻译|使用教程|编辑:鲍佳佳|2020-08-18 14:08:56.990|阅读 362 次

概述:Qt作为一个跨平台的c++开发工具,前面我们已经讲解了如何通过使用Qt开发GUI程序,以及如何对程序进行编译,以及编译必经的三个步骤是什么如何通过代码生成实现。本节主要是对子类QWidget进行系列介绍

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Qt(发音为“ cute”,而不是“ cu-tee”)是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中也非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。更多Qt产品详情点击这里>>

点击下载Qt最新试用版

在上文中我们讲到如何使用ASP .NET MVC Core应用程序创建Web设计器示例(点击此处产看详情)今天我们主要讲如何通过ASP .NET MVC应用程序创建Web设计器示例(下)(上篇文章

子类QWidget

到目前为止,我们已经将所有代码都放入了main函数中。对于我们的简单示例来说,这不是问题,但是对于越来越复杂的应用程序,我们可能希望将代码分成不同的类。通常要做的是创建一个用于显示窗口的类,并将该窗口中包含的所有小部件实现为该类的属性。

在Qt Creator中,您可以通过File> New file or project> C ++> C ++ Class自动创建一个新类。

使该类从QWidget继承,您可以获得类似于下面的代码

头文件

#ifndef WINDOW_H
#define WINDOW_H

#include <QWidget>

class Window : public QWidget
{
 Q_OBJECT
 public:
  explicit Window(QWidget *parent = 0);

 signals:
 public slots:
};

#endif // WINDOW_H

源文件

#include "window.h"

Window::Window(QWidget *parent) :
 QWidget(parent) {}

您可以看到Qt Creator自动生成一个类模板。请注意,标头中有一些新元素:

  • Q_OBJECT宏。
  • 一类新方法:信号
  • 一种新方法:公共插槽

所有这些元素将在下一章中进行说明,现在不再需要它们。窗口的实现是在构造函数中完成的。我们可以声明窗口的大小,以及该窗口包含的小部件及其位置。例如,可以通过以下方式实现包含按钮的上一个窗口:

main.cpp

#include <QApplication>
#include "window.h"

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

 Window window;
 window.show();

 return app.exec();
}

window.h

#ifndef WINDOW_H
#define WINDOW_H

#include <QWidget>

class QPushButton;
class Window : public QWidget
{
 public:
  explicit Window(QWidget *parent = 0);
 private:
 QPushButton *m_button;
};

#endif // WINDOW_H

window.cpp

#include "window.h"
#include <QPushButton>

Window::Window(QWidget *parent) :
 QWidget(parent)
 {
 // Set size of the window
 setFixedSize(100, 50);

 // Create and position the button
 m_button = new QPushButton("Hello World", this);
 m_button->setGeometry(10, 10, 80, 30);
}

无需编写析构函数来删除m_button。在子系统中当Window实例不在堆栈中时,将自动删除m_button。

在接下的文章中我们将讲述信息传输示例。更多Qt开发工具点击这里>>

慧都高端UI界面开发

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP