Qt绑定UI界面和Qt类的四种方法

Qt绑定UI界面和Qt类的四种方法

1、

Qt类头文件中

声明命名空间

namespace Ui {
class Widget;
}

声明UI指针对象

public:
    explicit Widget(QWidget *parent = 0); 
    private:
    Ui::Widget *ui;

源文件的构造函数初始化列表中初始化指针:

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget) 
    {...}

设置UI之后就可以用ui指针调用UI控件了:

 ui->setupUi(this); 
 //一定要在setupUi之后
 ui->pushButton->setToolTip("666");

2、

Qt类头文件中直接声明UI对象

private:
    Ui::MyForm form;

Qt类源文件构造函数中设置UI后,可通过此对象调用UI控件

    form.setupUi(this); 
    form.btnDel->setEnabled(false);

3、

Qt类头文件中

class Form : public QWidget, private Ui::Form
{public:
    explicit Form(QWidget *parent = 0); 
...  
}

源文件可直接调用UI控件:

   setupUi(this); 
   pushButton->setToolTip("666");

Qt Creater系统默认为第一种方法,但其他两种方法也可行。

4、VS&Qt使用的方法:

头文件中:

#include "ui_sokit.h"  
... 
class Sokit :public QWidget
{
Q_OBJECT
public:
explicit Sokit(QWidget *parent = 0);
private:
Ui::sokit ui;//这里的sokit对应设计师界面的objectname值  
......
}

源文件中:

#include "sokit.h"
Sokit::Sokit(QWidget *parent) :QWidget(NULL)
{ 
ui.setupUi(this);   
ui.label->setText("666");//注意这里和QtCreater的区别
...... 
}

————————————————

版权声明:本文为CSDN博主「52_赫兹的鲸」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_40194498/article/details/80820467

=======================

Qt问题:将类与ui界面关联

Qt 项目创建后添加 ui 有两个方法:

  1. 添加Qt 设计师界面类,包含:类的.cpp、.h 和一个 ui 界面

  1. 当已经实现类逻辑时,可以通过 Qt Designer Form 为已有类添加一个 ui

最近使用 Qt 时有以上第二点的需求,但创建好 ui 之后,发现 ui 与类一直没有绑定,ui 上的控件通过 类中的 ui 指针一直获取不到,参考以下解决方案:

  1. 添加UI文件及在相应文件中加入实现.

  1. 参考第3/4步解决没有绑定的坑.

总结:

  1. 添加 ui 文件,并在待绑定的类的 cpp/h 文件中加入新的 ui 依赖

  1. 在新加 ui 文件时的命名需要与待绑定的类名一致,否则后续就需要修改 xxx.ui 文件中的内容

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt 中可以使用 QtDialog 和 UI 来制作一个简单的计算器。 首先,我们可以创建一个 QtDialog 窗口来作为我们的计算器界面。通过继承 QDialog 并实现需要的功能,我们可以自定义计算器的布局和交互。例如,我们可以在窗口中添加数字按钮、运算符按钮和显示结果的文本框。 接着,我们可以使用 Qt 的可视化设计工具来创建一个 UI 文件,用于定义计算器界面的布局和元素。在 UI 文件中,我们可以方便地拖拽和调整各个按钮和文本框的位置和大小。然后,我们可以将 UI 文件与 QtDialog 关联起来,实现计算器界面和功能的绑定。 在 QtDialog 的代码中,我们可以使用 Qt 的信号与槽机制来处理按钮的点击事件和计算逻辑。通过将按钮的点击信号与对应的槽函数连接起来,我们可以在用户点击按钮时执行相应的操作,比如将按钮的文本添加到计算表达式中,或者进行计算并显示结果。 最后,为了完成计算器的功能,我们还需要定义各个按钮的槽函数。这些槽函数可以使用 Qt 提供的 QRegularExpression 来解析用户输入的表达式,并调用相应的计算函数进行计算。计算结果可以显示在文本框中,并根据需要进行格式化和处理。 通过以上步骤,我们可以使用 QtDialog 和 UI 来制作一个简单的计算器。这样做的好处是可以方便地在界面上进行布局和设计,同时可以利用 Qt 的信号与槽机制实现计算器的功能。此外,Qt 还提供了丰富的界面控件和功能模块,可以进一步扩展计算器的功能,使其更加实用和易用。 ### 回答2: 在Qt中,我们可以使用Qt Dialog 和 Qt UI设计来创建一个简单的计算器。 首先,我们需要创建一个新的Qt项目,并添加一个Qt Dialog部件。这个对话框将用于容纳我们的计算器界面。 接下来,我们需要在Qt Designer中设计计算器的用户界面。我们可以使用布局管理器来放置按钮、标签和文本框等控件。可以添加按钮来实现数字和操作符的输入,并添加一个结果文本框来显示计算结果。 在Qt代码中,我们首先需要使用Qt的信号和槽机制来连接按钮和计算函数。我们可以将按钮点击事件与槽函数进行连接,槽函数将根据按钮的文本执行相应的操作。 例如,当我们点击数字按钮时,应该将对应的数字追加到文本框中。当我们点击操作符按钮时,应该将对应的操作符存储起来。 接下来,我们需要实现一个计算函数来处理用户输入的表达式。我们可以使用eval()函数来动态计算表达式的值,并将结果显示在文本框中。 最后,我们需要将计算器界面显示在屏幕上。我们可以使用QDialog::exec()函数来显示对话框,并等待用户关闭计算器。 综上所述,通过使用Qt Dialog和Qt UI设计,我们可以创建一个简单的计算器。这个计算器可以处理用户的输入,并显示计算结果。同时,我们还可以根据需要进行扩展,添加更多的功能和操作。 ### 回答3: Qt是一个广泛使用的C++开发框架,可以用于开发跨平台的应用程序。在Qt中,我们可以使用QtDialog和UI来构建计算器应用程序。 首先,我们需要创建一个新的Qt项目。通过Qt Creator创建一个新的Qt Widgets应用程序项目。然后,我们可以在Qt Creator的主窗口中看到设计和代码视图。 在设计视图中,我们可以使用Qt的可视化设计器来创建计算器界面。可以添加按钮、文本框和标签等UI控件,并将它们排列成适当的布局。可以将这些UI控件命名为btn_0、btn_1、btn_2等等,以便在代码中引用。可以通过设置按钮的clicked信号来连接到相应的槽函数,以便在用户点击按钮时进行响应。 在代码视图中,我们可以使用Qt的信号和槽机制来处理UI控件的操作和交互。可以通过继承QDialog来创建一个自定义对话框,将其作为应用程序的主窗口。可以在自定义对话框中定义计算器的逻辑和功能。例如,可以为每个数字按钮创建一个槽函数,以便在用户点击它们时将数字显示在文本框中。可以为运算符按钮创建槽函数,以便在用户点击它们时执行相应的计算操作。可以为等号按钮创建一个槽函数,以便在用户点击它时计算结果并显示在文本框中。 在槽函数中,可以使用Qt的QString来操作和处理计算器的输入和输出。可以使用QString的toInt()、toDouble()等函数将文本转换为数字,并使用QString的arg()函数将结果转换为字符串。 最后,可以在主函数中实例化自定义对话框,并调用show()函数将它显示出来。这样,当用户运行应用程序时,就会看到一个具有按钮和文本框的计算器界面。 总之,使用QtDialog和UI来制作计算器可以充分利用Qt的功能和特性,简化开发过程并创建出功能强大且美观的界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值