写在前面
本文是b站教程的https://www.bilibili.com/video/BV1g4411H78N?p=5&vd_source=a3efe214b8a2ba185e92e79cb6d6321b的笔记,外加自己的一些其他想法。如有侵权请联系。如有错误请指正。
通过ui和代码的方式往Qwidget中添加东西
实现效果:
.ui文件中
通过拖拽,把一个按钮和一个label拖进去了。
主窗口类中(mainwindow.cpp)
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QPushButton>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
auto btn=new QPushButton();
btn->setParent(this);
btn->setText("hello");
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
新建了一个按钮对象,并通过setParent指定了父亲就是当前的主窗口。
当前主窗口后载入了.ui文件的东西。那么当前主窗口就会显示一个叫hello的按钮和ui里面的模样。
如果btn不指定parent,他会单独开一个窗口,但这个窗口不会显示,除非调用show。
auto btn=new QPushButton();
//btn->setParent(this);
btn.show();
btn->setText("hello");
ui->setupUi(this);
我这里效果和视频教程的不一样,另一个窗口我确实没看到,到在任务栏中确实是看到有两个窗口了。
在我的理解中,一个窗口是可以划分多个区域的,区域也是Qwidget。因此也可以成为某个组件的父亲。这样就可以一些区域用ui,一些区域用代码写了。
重置窗口大小
Qwidget有个成员函数,叫resize(),使用时,可以直接在继承了Qwidget的类中直接调用。
组件位置移动
文章来源:https://www.toymoban.com/news/detail-723563.html
设置汇总
文章来源地址https://www.toymoban.com/news/detail-723563.html
到了这里,关于QT学习记录(三)通过ui和代码的方式往窗口添加组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!