QT入门-在窗体中添加按钮以及对窗体进行设置
1) QT中,按钮类叫做QPushButton。在mywidget.h的MyWidget类的私有变量中:
QPushButton b1; 或者QPushButton* b2;按住F4可以直接跳到.cpp文件。
2) 按钮初始化:在窗口类的构造函数里初始化即可。b2=new QPushButton(…)选中按F1可以查看构造函数以及其参数。
QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr)//图标以及…… |
QPushButton(const QString &text, QWidget *parent = nullptr)//按钮上显示的内容以及… |
QPushButton(QWidget *parent = nullptr)//父窗口 |
至于修改内容的函数,需要从父类(QAbstractButton)里找。即void setText(const QString& text);
因此找不到相应的成员函数实现其功能的时候,可以从父类里找一下。
b2->setText(“Hello QT”);
b2=new QPushButton(“Hello QT”);
b2->show();
想要的效果是把按钮显示到窗口里(按钮实际上也是窗口?),但这时候按钮是独立显示出来的。如果窗口需要依附于另一个窗口,就应该给该窗口指定父类,这可以在构造函数内实现。因为此处实例化按钮是在MyWidget构造函数内实现的,所以父类指针是this,即b2=new QPushButton(“Hello QT”,this);
或者:QPushButton b1; b1.setParent(this);
注意,如果指定了父亲的话,就不用调用show函数了,因为直接在父类窗口显示了。
3) 两个按钮默认在同一个位置的话会发生覆盖,需要改变按钮的位置,相当于移动。
b1.move(x,y):移动到(x,y)
QT中窗体的坐标系:原点为左上角,x向右递增,y向下递增。
4) QT内存自动回收机制:无需delete
但适用范围有限:
i)适用于从QObject派生的类。
派生分为直接派生和间接派生(子孙)。
5)窗口大小
b1.size()获取大小,b1.resize()重新设置大小。如果不知道参数怎么写,按F1无反应,可以随便写一个比如b1.resize(1)再按F1即可。
6)设置窗口标题可以在类内部如this->setWindowTitle(“FUCK!”);
或者在main函数里:w. setWindowTitle(“FUCK!”);
7)设置固定宽度or高度:this->setFixedSize(a,b)…
8)setWindowIcon可以设置图标,QString的路径不能有中文。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战