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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)