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();
    }
    
    
    
  • 相关阅读:
    (一)js概述
    (八)js函数二
    (七)js函数一
    (十)js获取日期
    Java 定时器 Timer 的使用.
    多线程编程学习四(Lock 的使用)
    多线程编程学习三(线程间通信).
    wait/notify 实现多线程交叉备份
    多线程编程学习二(对象及变量的并发访问).
    浅析多线程的对象锁和Class锁
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/5384383.html
Copyright © 2011-2022 走看看