GUI 程序设计的主要内容就是对界面上各组件的信号的响应。
1、Windows 下的 GUI 库
Windows 下的 GUI 解决方案比较多:
基于 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout;
基于 C# 的有 WinForm、WPF;
基于 Java 的有 AWT、Swing;
基于 Pascal 的 有Delphi;
基于Go语言的有 walk 和 electron;
还有国内初露头角的 aardio;
Visual Basic 曾经很流行,现在逐渐失去了色彩;
如果你有 Web 开发经验,也可以基于 Webkit 或 Chromium 将网页转换为桌面程序。
没有哪一种方案能够独霸 Windows,使用比较多的编程语言是 C++、C#、Java。
2.指定父级组件
有两种方式来指定组件的父级组件:
- setParent
- 通过构造函数传参
#include "widget.h"
#include <QApplication> //应用程序类
#include <QPushButton>
#include <QDebug>
int main(int argc, char *argv[]){
QApplication a(argc, argv); //创建一个QApplication类对象,有且只有一个应用程序对象!
Widget w; //这是一个窗口对象。
QPushButton b1;
b1.setParent(&w); //通过setParent指定父级
b1.setText("创建模板"); //按钮上添加文本
QPushButton b(&w); //通过构造函数传参
b.setText("退出程序");
b.resize(100, 40);//设置按钮的大小
b.move(80, 80);//以Qwidget左上角为(0, 0),移动按钮
w.show();
return a.exec();
}
运行结果:
代码中定义了两个按钮,并且指定他们的父级组件为Qwidget。