之前写代码是为了偷懒直接用了QMessageBox这个类,后来代码运行后提示框太小,怎么修改提示框大小都不管用,又不想重新继承自定义提升框,这里找到了一个解决方法分享出来,希望能帮助同样想偷懒的小伙伴。

  QMessageBox msgBox(QMessageBox::NoIcon,QString(tr("Title")),\
                       QString(tr("Hello World   \n ")),\
                       QMessageBox::Ok|QMessageBox::No,NULL);
    msgBox.setStyleSheet(
        "QPushButton {"
                        "background-color:#89AFDE;"
                        " border-style: outset;"
                        " border-width: 2px;"
                        " border-radius: 10px;"
                        " border-color: beige;"
                        " font: bold 24px;"
                        " min-width: 10em;"
                        " min-height: 5em;"
        "QLabel { min-width: 20em;min-height:10em;font:24px;background-color:#f0f0f0;}"

没错就是设置风格,在里面你可以自己修改任何你想用的,想偷懒的可以直接拿去用。有更好的办法希望能在下面告知,不胜感激。。。

Q MessageBox message(Q MessageBox ::Warning,"Show Qt "," size='26' color='red'>Do you want to show Qt dialog?", Q MessageBox ::Yes | Q MessageBox ::No, NULL); //ok.setFont(font); //ok.setPen( Qt ::red       Q MessageBox 的功能很强大、实用及方便,相信用过 Qt 的开发者都用过它,但它有一个让人不友好的地方,就是不能设置窗口的 大小 ,尤其对自定义界面的窗口风格时,不得不考虑这个不便。这个问题在自己参与开发thinkvd时就意识到,由于当时自己对 Qt 的认识有限,几次偿试解决都没有结果,当时主要原因在于它引用了几个类的私有成员(如QLabel的)。     现在把实现的思路大概说一下:  1。重新实现Q MessageBox ->Im MessageBox (直接COPY Q MessageBox ),改名,再带 可以看出Q MessageBox 原有的弹窗看起来非常的不美观,有时候大有时候小,只能使用Q MessageBox 自带的图标,而且**不能自定义**窗口的** 大小 **,那是因为在源码中将其弹窗 大小 设置成了比较合适的 大小 ,所以不能自定义改变弹窗 大小 。 可以看出通过样式表的方法也不太美观,其中text没有居中。 在对某一个组件设置了setObjectName()属性之后,我们可以通过objectName在外面获得这个组件。 可以看出在布局时,其icon总是处在第0行第0列的位置,且其Aliment设置的是Top,所以 void NetWorkInfo::detail(){ QString det=""; QList<QNetworkInterface> list = QNetworkInterface::allInterfaces(); for(int i = 0;i<list.count();i++){ QNetworkInterface interface=list.at(i 一.查询 Qt 手册发现,Q MessageBox 有 1.setBaseSize(int , int )/setBaseSize(const QSize &) 2.setFixedSize(int , int )/setFixedSize(const QSize &) msgBox=Q MessageBox () msgBox.setBaseSize(200,200) #msgBox.setBaseSize(QSize(200,200)) msgBox.setFixedSize(200,200 Q MessageBox QT 自带的一个消息提示界面类,用起来也比较方便,对于在ARM板上使用 QT 开发的项目来说,使用的很频繁,节省了我们很多代码。从而程序也比较清晰。 1.最基本的一种调用:     Q MessageBox ::information(this,tr("提示"),tr("确定退出?")); 2.我们往往不满足于这么简单的使用,比如我要加中文 按钮 :    QMessag 所谓标准对话框,是 Qt 内置的一些列对话框,用于简化开发。其实是调用的系统窗口。事实上,有很多对话框都是通用的,比如打开文件、设置颜色、打印设置等。这些对话框在素有程序中几乎相同,因此没有必要在每一个程序中都自己实现这么一个对话框。 Qt 内置的对话框大致分为以下几类: QColorDialog:选择颜色。 QFileDialog:选择文件或者目录。 QFolderDialog:选择目录。 QFontDialog:选择字体 QMessageDialog:消息对话框、用于显示消息、询问问题等。