zoukankan      html  css  js  c++  java
  • Qt 【widget如何铺满窗口】

    刚接触qt不是很长时间,都是使用ui拖拽控件实现界面,然后发现有些问题就是控件一旦多了起来,拖拽就不好控制了,然后就转而使用纯代码开发。

    一下是碰到第一个问题:

    创建一个MainWidget;

               MainLayout(mainWidget);

               showBtn("show");

               imageLabel("image");

     connect(showBtn,&QPushButton::clicked,this,&Myapp::showInfo);

    一般需要窗口初始化 resize(300,300);【没有的话显示出来的小窗口会有些别扭】

    那么这时候运行显示的widget是很小的,本以为是位置的问题,或者setAlignment();

    并非如此,widget中没有setAlignment,位置move那是移动了窗口,都不是。

    于是我在槽之中添加  widget.size();得到其大小Qsize(93,59);

    于是修改widget->resize(300,300)【注意其中大小就是你窗口的大小】

    以下是源码:

    main
    {
        resize(300,300);
        mainWidget = new QWidget(this);
        mainLayout = new QVBoxLayout(mainWidget);
        imageLabel = new QLabel("image");
        ShowBtn = new QPushButton("Show");
    
    
        mainWidget->resize(300,300);
        mainLayout->addWidget(imageLabel);
        mainLayout->addWidget(ShowBtn);
        //mainLayout->setAlignment(mainWidget,Qt::AlignHCenter);
    
    
        connect(ShowBtn,&QPushButton::clicked,this,&NoUi::showInfo);
    }
    void Myapp::showInfo()
    {
        QMessageBox::information(this,"tips","hello?");
        qDebug()<<mainWidget->size();
    }
    
    
    
  • 相关阅读:
    设计模式
    jQuery回到顶部插件jQuery GoUp
    CentOS7+Tomcat 生产系统部署
    iOS 时间戳转换为时间
    iOS开发系列--Swift 3.0
    IOS
    iOS之宏定义#define
    #define和预编译指令
    iOS宏定义的使用与规范
    ios十进制、十六进制字符串,byte,data等之间的转换
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/5384383.html
Copyright © 2011-2022 走看看