用QT designer 设计了界面,怎么添加自定义的槽函数代码?

用QT designer 设计了界面,怎么添加自定义的槽函数代码?,第1张

你用QT

designer,这个只是一个专门做Ui的工具,不能添加代码的。要用Qt

Creator才行,在控件上单击右键,有个go

to

slots选项,点击后鼠标自动移动到代码里面,很方便!

如果是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 designer里面的layout添加控件

比如:

QPushButton *btn = new QPushButton("Button", this)

ui->verticalLayout->addWidget(btn)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11692002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存