送分在QT的UI上定义的控件,如何在代码中调用

如题所述

第1个回答  2018-11-24
如果是QtCreator生成会有Ui::MainWindow *ui;定义。

直接使用ui指针操作控件就好。
一般UI会生成ui_*.h 文件如下:

可以 看到控件都是public的,可以直接使用
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.9.7
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H

#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QToolBar>
#include <QtWidgets/QWidget>

QT_BEGIN_NAMESPACE

class Ui_MainWindow
{
public:
QMenuBar *menuBar;
QToolBar *mainToolBar;
QWidget *centralWidget;
QStatusBar *statusBar;

void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QStringLiteral("MainWindow"));
MainWindow->resize(400, 300);
menuBar = new QMenuBar(MainWindow);
menuBar->setObjectName(QStringLiteral("menuBar"));
MainWindow->setMenuBar(menuBar);
mainToolBar = new QToolBar(MainWindow);
mainToolBar->setObjectName(QStringLiteral("mainToolBar"));
MainWindow->addToolBar(mainToolBar);
centralWidget = new QWidget(MainWindow);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
MainWindow->setCentralWidget(centralWidget);
statusBar = new QStatusBar(MainWindow);
statusBar->setObjectName(QStringLiteral("statusBar"));
MainWindow->setStatusBar(statusBar);

retranslateUi(MainWindow);

QMetaObject::connectSlotsByName(MainWindow);
} // setupUi

void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", Q_NULLPTR));
} // retranslateUi

};

namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_MAINWINDOW_H本回答被网友采纳

送分在QT的UI上定义的控件,如何在代码中调用
如果是QtCreator生成会有Ui::MainWindow *ui;定义。直接使用ui指针操作控件就好。一般UI会生成ui_*.h 文件如下:可以 看到控件都是public的,可以直接使用 \/ Form generated from reading UI file 'mainwindow.ui'Created by: Qt User Interface Compiler version 5.9.7 WARNING! All changes made i...

在qt creator中用ui设计器创建了一个QDialog的窗口,添加了一个QWidget...
简单点说,要在QWidget上使用QPainter,需要你定义一个继承自QWidget的类,而你现在这么做也只是相当于在窗口中添加了一个QWidget,但这个窗体没有实际的作用。我写个简单的例子代码,说明怎么用QPainter widget.h ifndef WIDGET_H define WIDGET_H include <QtGui\/QWidget> include <QPainter> class ...

qt界面创建的控件怎么存
1、在Qt的设计师工具中创建一个新的UI文件,并添加所需的控件。2、将UI文件保存为.ui文件,以便之后可以使用Qt提供的UI文件编译器工具进行编译。3、在项目中包含UI文件对应的头文件。4、在代码中使用该头文件中的类来实例化UI控件。

QT项目中,在ui界面添加新的控件,编译后,控件没有显示出来
首先,尝试重新执行qmake命令,并清理项目,然后重新构建项目。接着,清空build目录中的所有编译生成的文件,仅保留目录结构,再进行一次项目构建。删除工程目录下的.user文件,仅保留工程文件、头文件、源文件及UI文件,重新运行qt creator,重新配置项目后再次编译。在采取上述措施后,发现修改生效。在项目中...

用QT designer 设计了界面,怎么添加自定义的槽函数代码?
你用QT designer,这个只是一个专门做Ui的工具,不能添加代码的。要用Qt Creator才行,在控件上单击右键,有个go to slots选项,点击后鼠标自动移动到代码里面,很方便!

QT创建的UI连接另外一个程序
可以在设计器中拖拽控件到界面中连接。QT中有一个集成界面设计器,可以将设计器中的控件拖拽到界面中进行UI连接到另外一个程序界面。UI连接是一种结对编程处理器。

qt 自定义控件怎么使用? 用“Qt4设计师自定义控件”写了个控件,但是不...
首先 工具---》选择工具箱项 出现对话框后 找到你自己写的控件 .dll文件 引入后 视图 工具箱会有的 拖到Form上 就行了

Qt:子窗口中如何获取主窗体ui中的控件
不建议通过这种方式,这样会破坏类的封装性!建议在主窗口中定义接口函数,在接口函数中可以访问主窗口的任何控件。然后在子窗口中parentWidget()取得主窗口的指针,使用该指针调用主窗口的接口函数,从而访问主窗口的控件。

QT中如何在其它.cpp文件中使用UI界面的控件
传递mainwindow的指针作为父指针或者加一个引用参数,都可以访问到UIdesigner生成的UI控件,通常设计上不建议这么做,因为可以在设计的时候绑定控件的signal到外部,没必要在与UI无关的层次中擅自改变UI的行为或者表现。

在QT中定义构造函数时下面程序中ui(new Ui::Widget)是什么意思呢?_百 ...
new就是新建,UI::Widget就是一个Widget界面 所以就是初始化一个Widget界面指针,其变量名为ui。Qt构建的时候可以带界面,这个界面在构造函数里默认叫ui的。

相似回答