• 8152阅读
  • 4回复

[提问]QT中如何设置弹出窗口的大小 [复制链接]

上一主题 下一主题
离线thh159
 

只看楼主 倒序阅读 楼主  发表于: 2012-10-06
求教如何设置弹出窗口的大小,如
QColor color = QColorDialog::getColor(Qt::blue);
怎样设置弹出的颜色选择框的大小?


就是如图窗口,大小如何设置??
漫漫长路,默默奋发。
离线roywillow

只看该作者 1楼 发表于: 2012-10-06
从你这种调用方式来看,不能修改……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 2楼 发表于: 2012-10-06
严重同意楼上的说法。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线kimtaikee

只看该作者 3楼 发表于: 2012-10-07
这种内建的对话框人家一般不允许resizing,如果不信可以用下面的代码调用试试:
  1. int main(int argc, char *argv[])
  2. {
  3.     QApplication a(argc, argv);
  4.     QColorDialog* pCD = new QColorDialog();
  5.     pCD->resize(QSize(700,700));
  6.     QColor clr = pCD->getColor();
  7.     delete pCD;
  8.     return a.exec();
  9. }

Qt的源码中已经清晰地讲述了不能resizing,下面摘自Qt源码之qcolordialog.cpp,请注意源码中的comment
  1. void QColorDialogPrivate::init(const QColor &initial)
  2. {
  3.     Q_Q(QColorDialog);
  4.     q->setSizeGripEnabled(false);
  5.     q->setWindowTitle(QColorDialog::tr("Select Color"));
  6.     nativeDialogInUse = (platformColorDialogHelper() != 0);
  7.     nextCust = 0;
  8.     QVBoxLayout *mainLay = new QVBoxLayout(q);
  9.     // there's nothing in this dialog that benefits from sizing up
  10.     mainLay->setSizeConstraint(QLayout::SetFixedSize);
  11.     QHBoxLayout *topLay = new QHBoxLayout();
  12.     mainLay->addLayout(topLay);
  13.    /* more to go */
  14. }




离线thh159

只看该作者 4楼 发表于: 2012-10-07
回 3楼(kimtaikee) 的帖子
谢谢
漫漫长路,默默奋发。
快速回复
限100 字节
 
上一个 下一个