相关疑难解决方法(0)

你如何在QT中积分?

我正在使用QT在C++中编写一个应用程序,你有n个点并计算它的凸包.但是,一旦计算出来,我就不知道如何绘制点并绘制船体的边界.制作菜单按钮等很简单,但我不确定我知道这样做的工具.

你怎么做到这一点?

c++ plot qt qt-creator

5
推荐指数
2
解决办法
2万
查看次数

在 QTextEdit 子类中连接信号和插槽?

我从 QTextEdit 派生了一个类并将其用作“日志”。我为它配备了一个插槽来接收日志消息。

class CLogbook : public QTextEdit
{
   Q_OBJECT;
    public:
    void log(QString msg) {append(msg)};

    public slots:
    void recvLogSignal(const QString message)
    {    
         append("hallo");
         std::cout << "signal received.\n";    
         log(message);
    }
Run Code Online (Sandbox Code Playgroud)

};

另一个类然后发出这样的信号:

// in the header
signals:
    void logMessage(const QString);

// in the implementation
    emit logMessage("qt is cute");
    std::cout << "if you can read this the logMessage was emitted\n";
Run Code Online (Sandbox Code Playgroud)

我还将信号连接到插槽

connect(tableeditor, SIGNAL(logMessage(const QString)), logbook, SLOT(recvLogSignal(const QString)));
Run Code Online (Sandbox Code Playgroud)

但是,该消息从未显示在“日志”中。我在这里缺少什么?

已解决:发出信号后调用连接方法:-(

qt signals qtextedit slot

2
推荐指数
1
解决办法
3418
查看次数

QGraphicsScene中的Arc

我想在QGraphicsScene中实现arc.我希望点击三个点时我的弧应被绘制,以便在点击三个点时绘制弧,其中第一个点将开始弧,第二个将是弧上的任何点,第三个将是弧的终点.我试过学习drawArc函数,但是对于startangle和spanangle感到困惑.我无法动态设置它们.请建议我继续下去.


我尝试了解决方案在我的项目中使用它,但是出现了以下错误:

error: cannot allocate an object of abstract type 'arc'
                 arcItem = new arc(++id, startP, midP, endP);
Run Code Online (Sandbox Code Playgroud)

你能帮帮我解决问题吗?我正在为我的项目提供一部分代码.在cadgraphicsscene的mousepress活动中,我做了以下事情.

cadgraphicsscene.cpp

    void CadGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
    {
        // mousePressEvent in the graphicsScene
        if(mouseEvent->button() == Qt::LeftButton)
        {
            switch (entityMode)
            {

            case ArcMode:
                if (mFirstClick)
                {
                    startP = mouseEvent->scenePos();
                    mFirstClick = false;
                    mSecondClick = true;
                }

                else if (!mFirstClick && mSecondClick)
                {
                    midP = mouseEvent->scenePos();
                    mFirstClick = false;
                    mSecondClick = false;
                    mThirdClick = true;
                }

                else if (!mSecondClick && mThirdClick)
                {
                    endP = mouseEvent->scenePos();
                    mThirdClick …
Run Code Online (Sandbox Code Playgroud)

c++ qt qgraphicsview qgraphicsscene

2
推荐指数
1
解决办法
7396
查看次数

标签 统计

qt ×3

c++ ×2

plot ×1

qgraphicsscene ×1

qgraphicsview ×1

qt-creator ×1

qtextedit ×1

signals ×1

slot ×1