jjzjj

qmessagebox

全部标签

windows - 没有图标的QMessageBox

通常,当创建一个QMessageBox时,窗口图标会是这样的:但是我想要一个没有窗口/标题栏图标的QMessageBox,像这样:我做了一些研究,发现我必须使用QMessageBox::NoIcon。我试过了,但没有真正奏效。那么我该怎么做才能删除QMessageBox图标呢? 最佳答案 QMessageBox::NoIcon不适用于标题栏图标:它适用于消息框中的大图标。为了移除标题栏图标,您必须设置特定的标志:QMessageBoxmsgBox(QMessageBox::Question,"Thisisthetitle","Thi

c++ - Qt - QTcpserver 工作不正常

我正在做一个简单的服务器-客户端应用程序。但是,客户端从服务器端获得了一些未定义的行为。找回错误码后,才知道是服务器断开了连接。这是服务端main.cpp#include#include#include#include#include#includeclassMyMessageBox:publicQMessageBox{public:MyMessageBox(std::stringmessage,QWidget*parent=0):QMessageBox(QMessageBox::NoIcon,QString("ErrorMessage"),QString(message.c_str(

windows - 任务栏中没有选项卡的QDialog

问题很简单。是否可以在不在任务栏中为其创建选项卡的情况下显示QDialog或QMessageBox?我尝试使用exec()、show()、更改模态的值,但选项卡始终处于打开状态。 最佳答案 您需要为QMessageBox指定父窗口:QApplicationa(argc,argv);qt_test_dialogw;w.show();//withadditionalbutton//QMessageBoxbox(QMessageBox::Information,"Title","Hellothere!",QMessageBox::Ok);

c++ - 应用程序被 QMessageBox 卡住

我有这么一小段代码:#include#include#include#includeclassMyWidget:publicQWidget{public:QBasicTimertimer;protected:voidtimerEvent(QTimerEvent*e){if(e->timerId()==timer.timerId()){timer.stop();QMessageBox::critical(this,"Oups","Ihopeyouwerenotresizingthemainwindow.");return;}QWidget::timerEvent(e);}};intmai

c++ - 一个阻塞但非模态的 QDialog?

我有一堆图像,我想对其执行一些操作。处理每张图像后,我的程序应弹出一个对话框,提示用户是要继续处理下一张图像还是要中止。在此之前,他们应该有机会对图像或参数进行一些手动更改。无论如何,他们必须能够访问应用程序的窗口,而调用对话框的方法的执行应该被阻止,直到对话框关闭。我试图用QMessageBox解决这个问题,但如果我通过exec()打开它,它会阻塞整个应用程序,如果我使用show(),程序会继续执行而无需等待用户的react。有没有一种方便的方法可以通过对话框阻止调用方法或函数,但允许用户与其他窗口交互?提前感谢您的任何提示。 最佳答案

c++ - 单击按钮后如何防止关闭 QMessageBox

我在QMessageBox上通过QMessageBox::addButton()方法添加了3个按钮。如果单击按钮,是否可以防止关闭消息框?默认情况下,每个按钮都会关闭窗口,但我不想为一个按钮执行此操作。编辑:为什么这会被否决? 最佳答案 一种对我有用的有趣方法是完全断开创建的目标按钮的信号,然后重新添加预期的功能。这对每个人都不起作用,特别是如果按钮不是以这种方式创建的和/或您仍想正确关闭对话框。(可能有一种方法可以将其添加回来和/或使用QDialog::accept、QDialog::reject、QDialog::done模拟行

c++ - 你能把QWidgets放到栈上吗?

背景故事:我审查了我的一些代码,我制作了一个本地QMessageBox用于显示错误,并将其分配到堆中:if(getAutopilotList.error()==0){QMessageBox*error=newQMessageBox(0);error->setDetailedText(getAutopilotList.errorString());error->setText("something");error->setWindowTitle(tr("Error!"));error->show();return;}开发者说:Thispointerwillleak,youaresetti

c++ - 为 QMessageBox 设置父级

我不明白为QMessageBox设置父级有什么好处,例如在下面的代码中:voidmainWindow::showMessage(QStringmsg){QMesageBox::information(this,"title",msg);//'this'isparent}有人可以帮帮我吗? 最佳答案 可能是一些事情。首先QMessageBox继承自QDialog。由于QDialog具有父级概念,因此QMessageBox也应该保持一致。具体来说,文档说:parentispassedtotheQDialogconstructor.至少,

c++ - QMessageBox 不显示整个标题

#includeintmain(intargc,char**argv){QApplicationapp(argc,argv);//firstQMessageBoxbox(0);box.setText("shorttext");box.setWindowTitle("looooooooooooooooongtext");box.setMinimumSize(800,0);box.exec();//second//QMessageBox::warning(0,"looooooooooooooooongtext","shorttext");returnapp.exec();}这两种方法都会产

c++ - 如何更改 QMessageBox 图标和标题

我正在使用Qtc++创建一个ui应用程序。我有一个error消息,是我使用QMessageBox类创建的,例如:QMessageBoxerrorMessage;errorMessage.critical(0,"Error","Anerrorhasoccured!");errorMessage.setFixedSize(500,200);就像:我想更改红色圆圈中的图标和标题。如果有任何帮助,我将不胜感激。提前致谢。 最佳答案 但是你可以使用QMessageBox::critical(0,"Error","Anerrorhasoccur