小编Ash*_*hot的帖子

Qt 错误:'const class QString' 没有名为 'toStdString' 的成员

error: 'const class QString' has no member named 'toStdString'虽然QString有这个错误,但我收到了这个错误。(链接)

编码

    std::string Message::toStdString() const 
    {
        return m_string.toStdString();
    }
Run Code Online (Sandbox Code Playgroud)

c++ qt compiler-errors

5
推荐指数
1
解决办法
8897
查看次数

Boost.Spirit编译器无法识别std :: pair

#include <iostream>
#include <boost/spirit/include/qi.hpp>

namespace qi = boost::spirit::qi;
int main ()
{
    // the following parses "1.0 2.0" into a pair of double
    std::string input("1.0 2.0");
    std::string::iterator strbegin = input.begin();
    std::pair<double, double> p;
    qi::phrase_parse(strbegin, input.end(),
            qi::double_ >> qi::double_,       // parser grammar 
            qi::space,                        // delimiter grammar
            p);                               // attribute to fill while parsing
}
Run Code Online (Sandbox Code Playgroud)

这是来自boost文档的示例http://www.boost.org/doc/libs/1_55_0/libs/spirit/doc/html/spirit/abstracts/attributes/compound_attributes.html

我收到编译器错误

main.cpp:14:14:   instantiated from here
/usr/local/include/boost/spirit/home/qi/detail/assign_to.hpp:152:13: error: no matching function for call to ‘std::pair<double, double>::pair(const double&)’
/usr/local/include/boost/spirit/home/qi/detail/assign_to.hpp:152:13: note: candidates are:
/usr/include/c++/4.6/bits/stl_pair.h:108:21: note: template<class _U1, class …
Run Code Online (Sandbox Code Playgroud)

c++ boost compiler-errors boost-spirit

5
推荐指数
1
解决办法
268
查看次数

如何使链接器不排除未调用的函数?

如果我定义了一个函数但不调用它,函数将不会在可执行文件中显示。但是有些情况我们需要告诉链接器不要排除一个函数。例如,我定义了totalview在调试时应由调试器调用的函数。

如果我从某个地方(例如从 main 函数)调用该函数,问题将得到解决,它不会被排除,但是否有一般规则告诉链接器不要排除函数?

c++ linux linker gcc ld

5
推荐指数
1
解决办法
910
查看次数

TCL:检查变量是否为list

set var1 A

set var2 {A}
Run Code Online (Sandbox Code Playgroud)

是否可以检查变量是否在TCL中列表?为了var1var2 llength给予1.我认为这两个变量被认为是相同的.它们都是包含1个元素的列表.我对吗?

variables list tcl

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

创建一个QPainter对象并在paintEvent中使用它

QPainter的常见用法是在widget的绘制事件中:构造和自定义(例如设置笔或画笔)画家.然后画画.记得在绘图后销毁QPainter对象.

这来自QPainter Class Reference.如果我在构造函数中创建QPainter对象并在paintEvent中使用该怎么办?这有任何隐藏的问题或一切都会好吗?我的程序需要将QPainter传递给另一个Painter对象.所有的画作当然都是paintEvent.

qt qt4 qpainter qt5

4
推荐指数
1
解决办法
1201
查看次数

vim:如何从当前目录grep?

vim . 在某个目录中运行.在vim内部,我移动到另一个目录.在那里我运行:grep命令从我运行的第一个目录中搜索vim ..如何:grep从当前的路径配置vim ?

vim grep

4
推荐指数
2
解决办法
4102
查看次数

将小部件添加到QFileDialog

我需要在widget 的布局中添加一个widget(QTableWidget)QFileDialog.我知道它QGridLayout有尺寸(3,4).该表必须位于第3行并跨越所有列.

QTableWidget* tableWidget = new QTableWidget(this);
QGridLayout *layout = static_cast<QGridLayout*>(QFileDialog::layout());
layout->addWidget(tableWidget, 2, 0, 1, 4);
Run Code Online (Sandbox Code Playgroud)

使用此代码,包含lineEdit和save/open pushButton的原始第3行将消失.如何在现有的小部件之间添加小部件,QGridLayout以便原始小部件保留在布局中.

c++ layout qt qgridlayout

4
推荐指数
1
解决办法
2429
查看次数

Passing Qt classes by const reference

It's known that Qt classes use copy-on-wite when passing by value. So copy isn't done until its needed. I have seen many times passing Qt classes by const reference when only needed read-only access to object. Why do people pass const QString& instead of simple QString if in both cases no copy is done?

c++ qt reference copy-on-write

4
推荐指数
2
解决办法
864
查看次数

使用快捷方式创建QAction,无需插入菜单

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

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QAction* back = new QAction(this);
    back->setVisible(true);
    back->setShortcut(QKeySequence("Ctrl+M"));
    bool cres = connect(back, SIGNAL(triggered(bool)), this, SLOT(mySlot()));
    assert(cres);
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我尝试捕获Ctrl+M关键事件。我不想将操作放在菜单中。connect返回true,但从mySlot不调用。在菜单中插入动作后,快捷方式可以正常工作。我做错了什么?

c++ qt bind qaction

4
推荐指数
1
解决办法
1174
查看次数

错误:gcc中“ wstat”的类型冲突

我从以下文档复制了此程序:https : //docs.oracle.com/cd/E19455-01/806-4750/signals-7/index.html

#include <stdio.h>
#include <signal.h>
#include <sys/wait.h>
#include <sys/resource.h>

void proc_exit()
{
        int wstat;
        union wait wstat;
        pid_t   pid;

        while (TRUE) {
            pid = wait3 (&wstat, WNOHANG, (struct rusage *)NULL );
            if (pid == 0)
                return;
            else if (pid == -1)
                return;
            else
                printf ("Return code: %d\n", wstat.w_retcode);
        }
}
main ()
{
        signal (SIGCHLD, proc_exit);
        switch (fork()) {
            case -1:
                perror ("main: fork");
                exit (0);
            case 0:
                printf ("I'm alive (temporarily)\n");
                exit (rand());
            default:
                pause();
        } …
Run Code Online (Sandbox Code Playgroud)

c gcc compiler-errors sigchld

4
推荐指数
1
解决办法
49
查看次数