zoukankan      html  css  js  c++  java
  • Qt 继承QWidget或者QWidget直接弹出窗口(非模态对话框)(对话框)

    QWidget是Qt中主流的窗口类,实现QWidget窗口弹出主要有三个步骤。

    1.1实例一个窗口类对象QWidget *widget = new QWidget(NULL);

    1.2调用函数函数QWidget::setWindowsModality(Qt::WindowModality windowModality)设置显示窗口类型,其中Qt::WindowModality windowModality取值如下:

    Qt::NonModal 不阻塞(非模态对话框)

    Qt::WindowModal 阻塞父窗口,所有祖先窗口及其子窗口(半模态对话框)(没特殊要求的话,一般用这个)

    Qt::ApplicationModal 阻塞整个应用程序(模态对话框)

    1.3调用函数QWidget::show()显示该函数

    注意,上述步骤中,类QWidget的对象可以是QWidget,也可以是QWidget的继承类。下面将弹出一个QWigdet的关键代码添出。

    一、核心代码
    qtestwidget.h头文件(继承QWidget窗口类)

    #ifndef QTESTWIDGET_H
    #define QTESTWIDGET_H
     
    #include <QWidget>
     
    class QTestWidget : public QWidget
    {
        Q_OBJECT
    public:
        explicit QTestWidget(QWidget *parent = nullptr);
     
    signals:
     
    public slots:
    };
     
    #endif // QTESTWIDGET_H

    qtestwidget.cpp源文件(继承QWidget窗口类)

    1 #include "qtestwidget.h"
    2  
    3 QTestWidget::QTestWidget(QWidget *parent) : QWidget(parent)
    4 {
    5  
    6 }

    调用显示该继承窗口

     1 void Widget::on_pushButton_8_clicked()
     2 {
     3     /*显示继承QWidget对象窗口*/
     4     QTestWidget *testWidget = new QTestWidget();
     5     testWidget->setWindowModality(Qt::NonModal);
     6     testWidget->setWindowTitle(tr("我是继承QWidget的窗口!"));
     7     testWidget->show();
     8  
     9     /*显示QWidget窗口*/
    10     QTestWidget *widget = new QTestWidget();
    11     widget->setWindowModality(Qt::NonModal);
    12     widget->setWindowTitle(tr("我是QWidget窗口!"));
    13     widget->show();
    14 }

    二、结果显示

    点击testWidget按钮后,弹出一个QWidget窗口和一个继承QWidget后的窗口。

  • 相关阅读:
    TCP/IP详解V2(六)之TCP协议
    TCP/IP详解V2(四)之TCP协议
    TCP/IP详解V2(三)之TCP协议
    epoll源码剖析
    UDT源码剖析(二)之启动与结束
    TCP/IP详解V2(二)之UDP协议
    TCP/IP详解V2(一)之协议控制块
    UDT源码剖析(一)之总览
    SPI通信协议(SPI总线)学习
    第12章Cortex-M4-SPI-Bus
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/15514030.html
Copyright © 2011-2022 走看看