gpt4 book ai didi

c++ - 从代码添加时qt按钮无法点击

转载 作者:行者123 更新时间:2023-11-30 05:17:11 37 4
gpt4 key购买 nike

我从我的代码而不是从 GUI 添加了一个按钮。编译时没有报错,但是按钮不能点击。这是代码:

//主窗口.h

#include <QMainWindow>
#include <QtNetwork/QTcpSocket>
#include <QString>
#include <QDataStream>
#include <QByteArray>
#include <QtWidgets>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
void OnMsgSignal(const QString& tep2);
void testForSocket();
~MainWindow();
void readDataF();

private:
Ui::MainWindow *ui;
QString dataForTime;
QPushButton *pushForTime;
};

//主寡妇.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QWidget>

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
pushForTime=new QPushButton(this);
pushForTime->setText("点击获取时间");
pushForTime->setGeometry(20,20,80,20);
pushForTime->setEnabled(true);
ui->setupUi(this);
}

我添加了信号和插槽来测试它,但它失败了。所以我没有添加代码以便于阅读。感谢您的阅读。

最佳答案

你做错了。

首先,您向QMainWindow 添加一个大按钮,然后通过调用ui->setupUi( this),它将用您的 UI 文件中的界面元素替换您现有的按钮。

尝试将这个额外的按钮添加到以 UI 形式存在的布局中。例如:

ui->setupUi(this);
pushForTime=new QPushButton(this);
ui->mLayout->addWidget(pushForTime);

因此它将被添加到从您的 UI 表单初始化的 gui 元素中。

关于c++ - 从代码添加时qt按钮无法点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42240471/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com