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后的窗口。

  • 相关阅读:
    常看本地是否安装Git和maven工具
    Git 安装和使用Tips
    Jmeter 获取系统时间,和对系统时间进行增减时间
    Java 中的系统时间
    Go语言
    数据拆分之 垂直拆分 and 水平拆分
    在Windows和UNIX下利用PHP和LDAP进行身份验证
    Linux中使用crontab命令定时执行shell脚本或其他Linux命令
    php empty()和isset()的区别
    php 判断是否get传值的参数是否存在
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/15514030.html
Copyright © 2011-2022 走看看