QT在主窗口中动态分配的子对话框不用show不显示,而使用静态函数不用show也显示,为什么?

`QT程序很简单,使用的是mainwidget类。主函数未改,至在mymainwidget.cpp中修改。我使用静态成员函数编辑QMessageBox不用show也能显示出来,我觉得因为main.cpp中有mainwidget的show。但我用动态分配的方式编辑QMessageBox,必须得使用show,否则无法显示。两种程序如下图,请大家帮我看一下,谢谢!
图片说明

图片说明
about有显示的功能,谢谢!之前没注意。还有一个问题,我将qmessagebox的父对象设为mainwidget,为什么mainwidget窗口里没qmessagebox,必须两个都show。而我将按钮添加进mainwidget,设定父对象,按钮就会在窗口内,而且mainwidget show,按钮也会show,按钮不用再show。这两种设置父对象有什么区别?

0

1个回答

你第一句创建qmessagebox对象是赋了初值,调用show显示这个messagebox

而你另一个是直接执行about函数,直接显示

0
qq_33220544
qq_33220544 about有显示的功能,谢谢!之前没注意。还有一个问题,我将qmessagebox的父对象设为mainwidget,为什么mainwidget窗口里没qmessagebox。而我将按钮添加进mainwidget,设定父对象,按钮就会在窗口内,而且mainwidget show,按钮也会show,按钮不用再show。这两种设置父对象有什么区别?
5 天之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于QWidget的子类调用show()方法不能显示的问题
Qt学了不久,对于它的用法我还不是很熟悉。今天遇到了一个问题:我定义了一个QWidget的子类,程序里面还有一个主类,主类某一个成员就是QWidget子类的指针,然后用主类去初始化这个指针并调用show方法来显示一些东西,然而这个子类并不能显示。         我有上网查了很久,好像又是找不到问这个问题的,只好靠自己动手了。动手之后发现换成QDialog的子类倒是能显示。我在原来QWidget
Qt如何show之后不显示控件
最近在做项目中想实现:在调用show之后,(条件不满足时)让控件不显示出来。 重写showEvent()?在控件显示之前move的屏幕外?NO 我相信大多数人是接受不了的!怎么办呢? …… 灵机一动,重写show函数啊,代码如下: void MyWidget::show() { if(somethingIsWrong) return; QWidget::s...
Qt 非模态对话框exec()与模态对话框show()
下面两段话摘自:《基于嵌入式Linux的Qt图形程序实战开发》P41~42 用一句来表示我对exec()的理解吧:首先会显示对话框,然后会阻塞后面的代码的执行,直到对话框关闭,返回结果。 模式对话框:所谓模式对话框就是说,该对话框会把该应用程序的其他窗口的输入锁定,其他应用程序仍然可以被用户访问。也就是说当一个模式对话框运行时,该应用程序的其他窗口就不能进行操作了。想要恢复对其
QWidget不显示的问题
有时候实例化了一个继承自QWidget的对象,调用show()函数,发现这个Widget并没有显示,这是为什么呢? 其中一种可能就是,这个Widget指定了一个父Widget,且这个父Widget应用了layout,这会导致这个子Widget不显示。如果不指定Widget的父Widget,则可以发现这个Widget可以显示了。
pyqt中QWidget的show 一闪而过的原因及解决办法
在pyqt中new了一个QWidget,然后调用show(),本来是希望显示非模态对话框的,但是往往会一闪而过,就消失了,请看下面的代码:  wgt_tmp=QWidget() wgt_tmp.setMinimumWidth(700) wgt_tmp.setMinimumSize(QSize(700,700)) wgt_tmp.s...
QT5(14)对话框扩展;获取对话框值;exec和show;在对话框显示图片
一、基础 1、 扩展对话框基础QDialog类,我们可以在扩展对话框中实现自定义控件 2、 对话框的exec();//阻塞的,一直到用户关闭对话框,程序才会继续往下执行;show(); 非阻塞的,对话框运行一闪而过就关闭了。 3、获取对话框中数据有两种办法:一种在扩展对话框中写返回类;另一种把变量地址传到扩展对话框对象中。 二、代码//头文件 #ifndef SHOWVERYCO
QT显示一个窗体,show()函数和exec()函数有什么区别?
1. show()函数: 即可以显示非模式也可以显示模式对话框; 当设置modal为true时,显示模式对话框, 2. exec()函数: 显示模式对话框,不关闭此对话框,不能执行别的操作。 3.区别: show()函数显示模式对话框时,是否与exec()显示的一样呢?答案是:不一样 show()显示的模态对话框并非真正意义上的模态,虽然在对话框弹出的时候,程序的其它操作(按钮、窗口
Qt中使用show函数的注意事项。
      前天做项目时遇到一个BUG:一个widget的部分子widget在symbian平台下始终显示不出来,追了很久,终于发现是show函数的位置在作怪。      在Q中:要想显示一个widget最简单的方式就是调用show函数,(这也包括showFullScreen等其他显示函数),但是这个函数到底该在哪里调?这个还是需要注意的。      一个QWidget窗口,我们在其构造函
QT中对话框的show()和exec()的区别
QDialog的显示有两个函数show()和exec()。他们的区别在参考文档上的解释如下: show(): 显示一个非模式对话框。控制权即刻返回给调用函数。 弹出窗口是否模式对话框,取决于modal属性的值。 (原文:Shows the dialog as a modeless dialog. Control returns immediately to the calling co
安卓ProgressDialog.show(),无法显示等待框
先给大家把我的解决代码贴出来: package com.park; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.uti
模态显示(showdialog)和非模态显示(show)
在C#中窗口的显示有两种方式:模态显示(showdialog)和非模态显示(show)。二者最常见的区别是:模态显示后,弹出窗口阻止调用窗口的所有消息响应。只有在弹出窗口结束后调用窗口才能继续。在模态窗口“关闭”后,可以读取模态窗口中信息,包括窗口的返回状态,窗口子控件的值。非模态显示后,可以在弹出窗口和调用窗口之间随意切换。调用窗口调用show方法后,下面的代码可以立即执行。在非模态窗口关闭后,...
Qt 子窗口内嵌到父窗口中
有时需要把一个子窗口内嵌进入父窗口当中。 我们可以这样做 1.新建一个QWidget 或者QDialog的子类 ClassA(父类为ClassB) 2.在新建类的构造函数中添加设置窗口属性 setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint);关闭默认的窗口标题提示以及没有边框的窗口。
Qt 界面的模态与非模态设置
1、对QWidget设置模态窗口有两种方法: 第一种是在构造函数中        setWindowFlags(Qt::FramelessWindowHint);        setAttribute(Qt::WA_showModal, true);        但这种方法已经在Qt4.5中被摒弃了,因为按照这样设置,对话框是无法使用触摸屏输入法的,只能用按键输入; 第二种是在构造函
QWidget实现模态及非模态
1、对QWidget设置模态窗口有两种方法: 第一种是在构造函数中        setWindowFlags(Qt::FramelessWindowHint);        setAttribute(Qt::WA_showModal, true);        但这种方法已经在Qt4.5中被摒弃了,因为按照这样设置,对话框是无法使用触摸屏输入法的,只能用按键输入; 第二种是在构造函
QT编程时,,界面不阻塞立刻显示
1.问题描述: QT项目中,发现界面调用show()之后,并不能直接显示出界面,需要等msleep(3000)执行完以后,才可以。 MainWindow w; w.show(); QThread::msleep( 3000 ); return a.exec 2.原因分析: QThread.msleep(3000),占用了该线程
Qt Widget和Dialog区别和使用,QWidget一闪而过
在使用QWidget和QDialog的时候
Qt 窗口部件在主窗口中的位置 子窗口在主窗口的相对区域 pos()函数的理解
在主窗口中拖入一个QWidget(对象名取为centralWidget),接着在centralWidget中拖入一个QScrollArea,然后在其上放一个QLabel。如下图所示:在主窗口的构造函数中添加如下语句:qDebug()<<"centralWidget pos: "<<ui->centralWidget->pos(); qDebug()<&lt...
【Qt】弹出子窗口时禁用主窗口
子窗口名:userManagerDialog Qt::WindowFlags flags = Qt::Dialog; userManagerDialog->setWindowFlags(flags); 弹出子窗口时禁用主窗口 userManagerDialog->setWindowModality(Qt::ApplicationModal); //阻塞除当前窗体之外的所有的窗体 关于se
Qt中的窗口和对话框组件
Window and Dialog Widgets窗口和子窗口 Primary and Secondary Windows主窗口和子窗口 Main Windows and Dialogs主窗口和对话框 Window Geometry窗口几何结构Window and Dialog Widgets(窗口和子窗口)注:本篇是对Qt中的窗口(window)和子窗口(widget)的介绍,原文来自于Qt5.5
QDialog执行exec()和show()的区别。
1.如果使用exec()默认为模态的。如果用show()需要设置setModel(true)才是模态的。 2.
python之matplotlib中plt.show()不显示图的解决办法
用了plt.show()发现画的图却不显示出来,后来查找原因,发现 用了use('agg'),兄弟姐妹们,agg是不会画图的! 所以将这行注释掉即可。
mysql中的show profiles在5.6.14版本被丢弃
mysql> status ————– mysql  Ver 14.14 Distrib 5.6.14, for Linux (x86_64) using  EditLine wrapper mysql> show variables like ‘%profil%’; +————————+——-+ | Variable_name          | Value | +——————
QDialog无法执行显示
今天遇到一个奇怪的问题一个类A继承自QDailog()class A : public QDailog() { A(QWidget* parent):QDailog(parent) { ...... } virtual int exec() { return QWidget::exec(); } }发现如果A初始化时不传入父窗口parent指针,一切执...
jquery的show()函数不会将某个div下面的style为“display:none”的a标签子元素也显示出来
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/52884038 本文出自【我是干勾鱼的博客】 众所周知,jquery的show()函数用于显示隐藏元素,比如某个div。如果div下面还有一个子元素div,这个显示同样能把子元素也显示出来。但是要知道,如果某个div下还有一个a标签子元素也处于隐藏状态,使用show()函数显示
十一、Qt新对话框创建与销毁
模态对话框就是指在子对话框弹出时,焦点被强行集中于该子对话框,子对话框不关闭,用户将无法操作其他的窗口。非模态相反,用户仍然可以操作其他的窗口,包括该子对话框的父对话框。 如果从线程角度来讲,模态对话框实际上是线程阻塞的,也就是子对话框是一个线程,但是在创建这个子线程之后,父窗口就阻塞了;模态对话框则不是阻塞型的线程模型,父子线程可以并行运行。 和所有流行的图形类库一样,Qt也提供了创
matplotlib使用show方法后不能显示图像的问题
系统ubuntu python版本2.7.11 matplotlib版本1.5.0 问题:在利用测试脚本运行时不能显示图像,但是可以正常存储图像文件。 原因:因为在安装matplotlib之前系统中没有安装一个python使用的GUI图形库 解决:参照了点击打开链接中的解决方法 使用了backend:WX的设置 目前可以正常显示图像
Eclipse中控制台console无法显示,show view无效
今天在写代码的时候,控制台无法打开,采用show view ->console无效,上网搜方法,可以采用重置窗口来解决。Window->Perspective-->Reset Perspective,重置下就行了...
关于QT利用setStyleSheet为主控件添加背景图片,而不影响其子控件的背景设置
关于这个问题我查看了许多人的博客,发现有些人回避利用setStyleSheet进行主控件添加背景图片,因为这种方法会使子控件继承朱控件的背景格式,但是通过细心查找还是研究  出来如何解决这个问题。 1.一个未进行任何处理的对主控件添加背景图片的结果:                                                                         
判断控件的状态是显示(SW_SHOW)还是隐藏(SW_HIDE)
BOOL IsWindowVisible( HWND hWnd );
thinkphp3.2分页内容不显示问题
tp3.2  的page.class.php 放到了Think文件夹下 所以y
解决matplotlib.pyplot.show()函数不起作用的问题
打开文件搜索matplotlibrc 打开这个文件,搜索backend关键字 # The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo # MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG # Template. # You can als
QDialog的show方式和exec方式
QDialog的模式与非模式区别:非模式窗口就是运行在应用程序中,对于任何其他窗口都是独立窗口,       用show()调用。模式窗口就是当它被调用而弹出的时候,它会阻塞这个应用程序,直到这个窗口被关闭。       模式对话框(modal dialog box模态对话框):在关闭模式对话框之前,程序不能进行其他工作    (如一般的“打开文件”对话框) 无模式对话框(modeless
mysql控制台 show databases不显示结果的原因
今天一直搞不懂 为什么没有显示数据库 结果发现 是因为 语句少了分号; show databases; 这时候 就没有问题了
QT-- 模态对话框与非模态对话框
1.设计主窗体 2.弹出窗体 3.弹出窗体的类的实现 .h #include <QWidget> #include "QDialog.h" #include "ui_QtDialogToShow.h" class QtDialogToShow : public QDialog
Python-----PIL Image模块 show函数不能正常显示图片
PIL Image模块 show函数不能正常显示图片
Qt对话框的生命周期及模态设置
对话框的生命周期QDialog dialog(this);dialog.show();这样在一个函数中定义的对象是建立在栈上的,函数执行完毕,dialog的显示就结束,显示的效果可能就是这个窗口一闪而逝。QDialog *dialog = new QDialog(this);dialog->show();这样定义了一个指向QDialog对象的指针,用new开辟了新的内存空间,函数执行完毕,dial
在QMainWidget里添加有控件的QVBoxLayout,但控件不显示(备忘)
在使用QWidget时是: QWidget widget; QVBoxLayout layout; QLabel label("Test!"); widget.setLayout(&layout); layout.addWidget(&label); 但如果在使用QMainWidget时也照着这样用是不行的,label不会显示, 因为QMainWidget需要一个中心控件,应这样
show函数的调用,以及使用方法。
先在common中定义: function show($status,$message,$data=array()){ $result =array( 'status'=>$status, 'message'=>$message, 'data'=>$data, ); exit(json_encode($result)); }
qt中添加资源文件以及添加菜单图标、工具栏中菜单的快捷方式、窗口以及对话框的icon
1、file--new-QT resource file,就会在工程中添加一个资源文件,然后单击Add下拉框,选择Add prefix,可以将生成的/new/prefix的后缀改为其他的名字,如file。然后在单击Add下拉框,选择Add files,将需要的图标文件添加过来,然后保存即可。   2、添加好资源文件后,在ui中Action Editor双击,弹出的Icon中添加即可。
Jquery show方法不起作用解决方案
原因:show() 适用于通过 jQuery 方法和 CSS 中 display:none 隐藏的元素(不适用于通过 visibility:hidden 隐藏的元素)。 1.visibility:hidden 方法 //visibility:hidden表示默认隐藏 var currentBtn = document.getElementById("currPage");    
文章热词 图像修复显示细节 实战数据显示数值 不可变深度理解 比特币钱包使用 单位全局变量使用
相关热词 c#不用控件显示数据 linux 为什么不用c++ c++中为什么要用指针而不用对象 为什么学python 为什么要学习python

相似问题

1
QT在主窗口中动态分配的子对话框不用show不显示,而使用静态函数不用show也显示,为什么?
1
请问ap =( int *) &a;这是什么意思?ap++;bp++;为什么要用这两个语句?为什么a,b两个值可以交换?
0
QT 在使用了QWebEngineView后QPrinter功能为何阻塞在StartDoc(d->hdc, &di)?
1
用VS2010对图像进行二值化处理,显示异常
0
下面的solve的参数很多,怎么把这么多参数传入solve中,我使用的 num2str不太对,该使用哪个函数?
0
QT如何通过鼠标改变Qlabel的大小
2
C语言链表插入问题 插入节点到头节点之前去 遍历后发现只能显示插入的那个节点。
1
有没有QT大佬知道这是怎么回事啊,拜托拜托
0
vs2008上开发的qt项目为什么在系统从xp升级到win7后,就出现了程序运行中断的问题,main函数都没进去
0
使用QT5.9自定义控件时,为什么在QtCreator左侧里找不到自定义的控件,而QtDesigner里可以看到?
0
为什么在MFC中使用线程会出现程序崩溃?是我实用的方法不敌还是怎么回事?
1
三角函数(包括反三角函数)怎么不调用库实现,可以取代math库 ?急求!
1
使用CBLAS库出现的问题
1
关于QT保存EXCEL文件的问题
0
MFC绘制椭圆时,为什么会出现鼠标拖动时与松开鼠标时线型不一致的问题?
2
C++ long long 的定义为什么不行?
5
请问int sum[200] = 0 ;是什么意思,为什么可以不对数组初始化??
2
为什么使用了ios::app txt中的数据还是被覆盖了
1
请问p前面的const意义何在?它存不存在,不都能避免被调函数对实参所指对象的修改吗??
0
leetcode100,想使用智能指针但是出错,请问为什么?