Qt中如何添加UI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt中如何添加UI相关的知识,希望对你有一定的参考价值。

就是在一个工程中添加一个新的对话框,这个对话框是一个类。现在想用图形界面编辑它。我能新建一个类,但无法新建一个ui。

依次选这几个,就ui和类都有了

参考技术A 你用的是QT4吗?是的话,在QT中新建文件时,选择"qt designer class",即可同时生成类和ui 参考技术B 简单点说,要在QWidget上使用QPainter,需要你定义一个继承自QWidget的类,而你现在这么做也只是相当于在窗口中添加了一个QWidget,但这个窗体没有实际的作用。
我写个简单的例子代码,说明怎么用QPainter
widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>
#include <QPainter>

class Widget : public QWidget

Q_OBJECT

public:
Widget(QWidget *parent = 0);
~Widget();

protected:
void paintEvent(QPaintEvent *);
;

#endif // WIDGET_H

widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
: QWidget(parent)



Widget::~Widget()



//重新实现paintEvent
void Widget::paintEvent(QPaintEvent *)

QPainter painter(this);
//绘制一行文字
painter.drawText(this->rect(),Qt::AlignCenter,"this is my widget");
参考技术C 简单点说,要在QWidget上使用QPainter,需要你定义一个继承自QWidget的类,而你现在这么做也只是相当于在窗口中添加了一个QWidget,但这个窗体没有实际的作用。
我写个简单的例子代码,说明怎么用QPainter
widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>
#include <QPainter>

class Widget : public QWidget

Q_OBJECT

public:
Widget(QWidget *parent = 0);
~Widget();

protected:
void paintEvent(QPaintEvent *);
;

#endif // WIDGET_H

widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
: QWidget(parent)



Widget::~Widget()



//重新实现paintEvent
void Widget::paintEvent(QPaintEvent *)

QPainter painter(this);
//绘制一行文字
painter.drawText(this->rect(),Qt::AlignCenter,"this is my widget");

本回答被提问者采纳

QT如何获得对话框中控件的指针?

QT如何获得对话框中控件的指针? 比如获得对话框中一个按钮的指针,VC中的GetDlgItem()可以实现该功能,QT中用什么函数呢。假设按钮是用qt creator拖入的,不是用代码创建的。

qt的ui其实在编译的时候也是生成了一个c++类的,生成类在ui_XXX.h 中,可以通过直接继承的方式来获取ui类里面各控件的指针。qt createor添加ui类时会自动生成一个如 Ui::MainWindow *ui这般的ui指针,通过ui指针即可访问对话框中的控件指针。 参考技术A

    QT界面都会有一个对应的ui指针,再通过ui执行控件的ObjectName,就是改空间的指针了。

    比如界面一个 QPushButton 的名称是 btn,则可以这样获取他的指针 ui->btn

    想改变它的text,可以如此 : ui->btn->setText("确定");

参考技术B 用ui->引用就行

以上是关于Qt中如何添加UI的主要内容,如果未能解决你的问题,请参考以下文章

如何从 .ui 文件向 Qt 按钮添加功能?

QT如何获得对话框中控件的指针?

几个ui显示在一个窗口里

如何解决VS中QT的ui文件双击无法打开

如何在 Qt 中动态添加选项卡?

如何在 Qt Designer 中添加 QVideoWidget?