Qt界面编程基本操作

了解基本代码构成

类widget的头文件widget.h如下:

#ifndef WIDGET_H
#define WIDGET_H #include <QWidget>
#include <QDebug> namespace Ui {
class Widget;
} class Widget : public QWidget
{ //信号与槽相关宏
Q_OBJECT public:
//构造且使用explicit(显式)方式进行, parent = 0表示不指定父对象.
explicit Widget(QWidget *parent = 0);
~Widget(); private slots:
//槽函数
void on_pushButton_clicked();
void on_pushButton_2_clicked(); private:
Ui::Widget *ui;
}; #endif // WIDGET_H

常用基础知识

查看帮助

  • 光标放到对应单词上, 点击F1, 即可进入对应单词的帮助.
  • Qt左边导航菜单进入帮助.
  • /Qt/Qt5.x/5.x/mingwxxx_xx/bin/assistant.exe

添加C++11支持

  • CONFIG += C++11

指定父对象的两种方式

  • 一种通过对象的setParent属性
  • 一种是构造对象时通过构造函数传参QPushButton(QWidget *p);
  • 好处:
    • 父窗口显示, 子窗口就显示(父对象要在子对象创建后调用show()).
    • 父窗口结束, 自动回收所有子窗口内存.

新建多个窗口

  • 在添加类时选择Base Class, 一般选择Qwidget较多.
  • 多个窗口的头文件放到主窗口的头文件中, 作为主窗口的对象成员来使用.

信号与槽

  • 信号函数和槽函数均没有返回值.
    1. connect(sender, signal, 接收对象, 槽函数), 每个参数都是指针类型:
//按下按钮1, 则按钮2隐藏
connect(&btn1, &QPushButton::pressed, &btn2, &QPushButton::hide);
    1. 转到槽

对象的常见操作

  • 隐藏对象
Obj.hide()
  • 显示对象
Obj.show();
  • 设置对象的显示字符
Obj.setText("xxx");
  • 移动对象
Obj.move(100, 100)
  • 窗口持续运行等待用户操作, 该函数会造成窗口阻塞, 当创建模态对话框时, 调用此函数阻塞. 此函数之后的代码将在关闭窗口时执行.
a.exec();
  • 设定窗口大小
resize(400, 300);
  • 发送信号

    • 声明信号(信号没有返回值, 但可以有参数, 信号只需声明, 无需定义)
    signals:
void mySignal();
- 发送信号
    emit mySignal();

Qt界面编程基本操作的更多相关文章

  1. Qt界面编程之多窗口切换

    1.基础知识 信号和槽 信号和槽都是函数,用来完成信号间的协同操作 2.多窗口切换实例       功能 实现登录和重新登录功能 组成 登录界面 和主窗体界面 3.源代码提供  

  2. 为什么qt成为c++界面编程的第一选择

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

  3. 为什么 qt 成为 c++ 界面编程的第一选择?

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

  4. Linux C 程序 GTK+图形界面编程(22)

    GTK+图形界面编程 Linux大多是在字符界面,但也可以开发图形界面 目前已经存在多种Linux下开发图形界面的程序开发包:最常用的是Qt和GTK+ Qt是一个跨平台的图形界面开发库,不仅仅支持Li ...

  5. CC++初学者编程教程(9) Windows8.1安装VS2013并捆绑QT与编程助手

    我们在Windows8.1安装VS2013并捆绑QT与编程助手需要下列文件. 2. 在虚拟机中开启Windows8.1 3.然后选择VS2013的安装镜像. 4.将镜像复制到虚拟机. 5.我们装载这个 ...

  6. CC++刚開始学习的人编程教程(9) Windows8.1安装VS2013并捆绑QT与编程助手

    我们在Windows8.1安装VS2013并捆绑QT与编程助手须要下列文件. 2. 在虚拟机中开启Windows8.1 3.然后选择VS2013的安装镜像. 4.将镜像拷贝到虚拟机. 5.我们装载这个 ...

  7. Qt网络编程QTcpServer和QTcpSocket的理解

    前一段时间通过调试Qt源码,大致了解了Qt的事件机制.信号槽机制.毕竟能力和时间有限.有些地方理解的并不是很清楚. 开发环境:Linux((fedora 17),Qt版本(qt-everywhere- ...

  8. Python入门 —— 03GUI界面编程

    GUI(Graphical User Interface) 即图形用户接口,又称图形用户接口. 是指采用图形方式显示的计算机操作用户界面.GUI 是屏幕产品的视觉体验和互动操作部分. "你的 ...

  9. c++学习书籍推荐《C++ GUI Qt 4编程(第2版)》下载

    下载地址:点我 百度云及其他网盘下载地址:点我 编辑推荐 <C++ GUI Qt 4编程(第2版)>讲授的大量Qt4编程原理和实践,都可以轻易将其应用于Qt4.4.Qt4.5及后续版本的Q ...

随机推荐

  1. [翻译] GTAppMenuController

    GTAppMenuController https://github.com/gianlucatursi/GTAppMenuController This is a simple project in ...

  2. In-app Billing 概述

    这个文档讲解了In-app Billing的基础构成和功能,为了能够把In-app Billing功能添加到你的程序中,你需要很好的理解这些内容. 注意: 保证你的应用遵从发布地国家的相关法律. 举例 ...

  3. Centos7下面安装eclipse

    下载Eclipse压缩包 下载路径 http://mirrors.neusoft.edu.cn/eclipse/technology/epp/downloads/release/luna/SR2/ec ...

  4. 乘风破浪:LeetCode真题_014_Longest Common Prefix

    乘风破浪:LeetCode真题_014_Longest Common Prefix 一.前言 如何输出最长的共同前缀呢,在给定的字符串中,我们可以通过笨办法去遍历,直到其中某一个字符不相等了,这样就得 ...

  5. [日常] NOIWC2019 冬眠记

    NOIWC 2019 冬眠记 辣鸡rvalue天天写意识流流水账 Day 0 早上没有跑操(极度舒服.png) 和春哥在博客颓图的时候突然被来送笔电的老爹查水表(捂脸) 母上大人骗我说这功能机不能放存 ...

  6. 如何去掉android的标题栏

    利用eclipse创建一个android工程向导后默认的会给app加上一个标题栏,如下图如何去掉红色的标题栏呢?从网上找的有下面的几种方法.1.通过代码去掉在Activity的onCreate中加入如 ...

  7. video文件格式说明(笔记)

    video标签兼容IE8可使用html5media.js,具体demo可以下载文件中的压缩包 移动端兼容参考: http://www.xyhtml5.com/3252.html

  8. jq实现鼠标经过出现上拉菜单

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. LeetCode: Word Ladder II [127]

    [题目] Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) ...

  10. 【模板】Tarjan算法与有向图的强连通性

    概念 流图 给定一个有向图G= (V,E),若存在r∈V满足,满足从r出发能够到达V中所有的点,则称G是一个流图,记为(G,r),其中r是流图的源点. 流图的搜索树 在一个流图(G,r)上从r出发,进 ...