小编W.K*_*K.S的帖子

我应该先学习哪些:Boost或Qt

我主要是一个业余爱好者程序员.我学习了C++的基础知识,然后转到我喜欢的Java,因为它很简单.现在我回到C++,我真的想用Qt API学习GUI,但我听说过很多关于Boost Libraries的讨论.

我的问题应该首先学习Qt还是先花一些时间在Boost上更好.

就个人而言,我是Qt因为我已经厌倦了看着无聊的黑色控制台屏幕.

2)Pascal/Free Pascal是一种值得学习的语言.如果是这样,那么学习它的最佳位置是什么.我知道它已经死了 - 但我被这种语言神秘地吸引了.

c++ user-interface qt boost freepascal

8
推荐指数
4
解决办法
9371
查看次数

如何将QComboBox添加到Qt Creator中的主工具栏

我正在Qt Creator上写一篇文本编辑器.我有一个QPlainTextEdit作为中心窗口小部件,我希望主工具栏中的所有字体控制工具自动添加到所有QMainWindow项目中.当我尝试将QComboBox拖放到主工具栏上时,会显示一个不允许的图标.有办法做到这一点吗?

感谢您的帮助.

c++ qt qcombobox

8
推荐指数
1
解决办法
9155
查看次数

json_encode()期望参数2为long,给定字符串

我正在尝试使用以下代码从REST服务返回JSON:

$categories = $categoriesController->listAll();
if($categories){
   header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
   header("Content-Type: application/json");
   echo json_encode($categories,JSON_PRETTY_PRINT);
}else{

}
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

json_encode()期望参数2为long,给定字符串

我看过几个例子使用完全相同的代码,所以我不明白为什么我会遇到这个问题.我很感激这个问题的一些帮助.谢谢 :)

php json

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

多个定义错误:一个在我的文件中,一个在moc文件中.

我有一个名为FindAndReplaceBar的类,其实现如下:

#include "FindAndReplaceBar.h"
#include <QLabel>
#include <QPushButton>
#include <QGridLayout>
#include <QTextDocument>
#include <QLineEdit>

FindAndReplaceBar::FindAndReplaceBar(QObject *parent) :
    QToolBar(NULL)
{
    lblFind         = new QLabel("Find: ",this);
    lblReplace      = new QLabel("Replace",this);

    ledtFind        = new QLineEdit(this);
    ledtReplace     = new QLineEdit(this);

    QPixmap next(":/res/resources/next.gif");
    QPixmap previous(":/res/resources/previous.gif");
    QPixmap close(":/res/resources/close_icon.gif");

    btnFindNext     = new QPushButton(QIcon(next),"",this);
    btnFindPrevious = new QPushButton(QIcon(previous),"",this);
    btnClose        = new QPushButton(QIcon(close),"",this);

    btnReplace      = new QPushButton("Replace",this);
    btnReplaceAll   = new QPushButton("Replace All",this);

    btnFindNext->setFlat(true);
    btnFindPrevious->setFlat(true);
    btnClose->setFlat(true);
    btnReplace->setFlat(true);
    btnReplaceAll->setFlat(true);

    lytFindAndReplaceBar        = new QGridLayout(this);

    lytFindAndReplaceBar->addWidget(lblFind,0,0,1,1);
    lytFindAndReplaceBar->addWidget(ledtFind,0,1,1,2);
    lytFindAndReplaceBar->addWidget(btnFindPrevious,0,3,1,1);
    lytFindAndReplaceBar->addWidget(btnFindNext,0,4,1,1);

    lytFindAndReplaceBar->addWidget(lblReplace,0,5,1,1);
    lytFindAndReplaceBar->addWidget(ledtReplace,0,6,1,2);
    lytFindAndReplaceBar->addWidget(btnReplace,0,8,1,1);
    lytFindAndReplaceBar->addWidget(btnReplaceAll,0,9,1,1);

    this->setLayout(lytFindAndReplaceBar); …
Run Code Online (Sandbox Code Playgroud)

qt4 multiple-definition-error moc

7
推荐指数
1
解决办法
4055
查看次数

Espresso:如何使用结果RESULT_OK测试活动结束

在我的应用程序中,当用户单击"注册"按钮时,将启动RegisterActivity.一旦用户填写表单,详细信息将发布到Web服务,如果注册成功,则RegisterActivity会使用RESULT_OK.这在以下代码示例中进行了总结:

public void submitRegistration() {

    showProgressDialog(R.string.registration, R.string.please_wait);  

    getWebApi().register(buildRegistrationFromUI(), new Callback<ApiResponse>() {
        @Override
        public void success(ApiResponse apiResponse, Response response) {

            hideProgressDialog();

            setResult(RESULT_OK);
            finish();
        }

        @Override
        public void failure(RetrofitError error) {

            hideProgressDialog();
            showErrorDialog(ApiError.parse(error));
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

使用Espresso,如何检查活动是否已完成setResult(RESULT_OK).

请注意:我希望创建一个模拟的意图,我想查的意图结果状态.

android android-intent android-espresso

7
推荐指数
2
解决办法
3002
查看次数

如何增加可用于gradle的内存

在详细介绍Android Studio 2.1稳定版本功能的官方帖子中,我遇到了这个:

我们还通过使用进程内dex来加速构建时间,该进程dex将类文件转换为Gradle守护程序进程中的dex文件.这避免了创建单独的dex进程的昂贵处理操作.要使用此功能,您需要将Gradle守护程序可用的内存量增加到至少2GB(默认值为1 GB).

请问,如何增加Gradle可用的内存?

android android-studio android-gradle-plugin

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

Delphi中的实例引用?

在C++中Delphi相当于'this'是什么?你能举一些使用它的例子吗?

delphi freepascal

6
推荐指数
2
解决办法
1350
查看次数

如何在QMainWindow中将"降序面板"附加到菜单栏的底部

当您在Mac上保存文件时,面板会以非常酷的方式从顶部栏向下下降.我想创建一个使用Qt框架执行类似操作的类.我有很多困惑:

  1. 面板下降时,应阻止输入父窗口.使用QDialog很容易,因为它有setModal()方法,但是QDialogs默认弹出.我不知道怎么解决这个问题.

  2. 在QMainProject中,创建了DescendingPanel类的QMenua新实例.假设菜单栏下面还有其他小部件,你会怎么做?DescendingPanel应出现在它们上方.

我真的很感激任何帮助.

编辑

我有一个想法,而不是在菜单栏下挂下对话框,只是让它出现在那里并移除窗框.这样,它就会产生一种幻觉,它从那里弹出.当然,还必须处理Move事件,以便Dialog始终位于菜单栏下,但这是为了以后.这是我用来让DescendingDialog出现在菜单栏下面的代码.

class DescendingDialog : public QWidget
{
    QMainWindow* Window;
    QWidget*     Menu;
    QPoint       GlobalLocationOfMenu;
    int          DialogWidth;
    int          DialogHeight;

    int X()
    {
        int XDistanceOfPanel = GlobalLocationOfMenu.x() + ((Menu->width()/2) - (this->DialogWidth/2));
        //GlobalLocationOfMenu.x() returns 0;
        return XDistanceOfPanel;
    }

    int Y()
    {
        int YDistanceOfPanel = GlobalLocationOfMenu.y()+Menu->height();
        //GlobalLocationOfMenu.y() returns 0;
        return YDistanceOfPanel;
    }

    void SetGeometry()
    {
        this->setGeometry(this->X(),this->Y(),this->DialogWidth,this->DialogHeight);

    }
public:
    DescendingDialog(QMainWindow*   Window,int DialogWidth,int DialogHeight):QWidget(NULL)
    {
       this->Window = Window;
       this->Menu   = this->Window->menuWidget();
       this->DialogWidth = DialogWidth;
       this->DialogHeight = DialogHeight;

       QPoint RelativeLocationOfMenu = this->Menu->pos();
       this->GlobalLocationOfMenu …
Run Code Online (Sandbox Code Playgroud)

c++ qt4

6
推荐指数
1
解决办法
493
查看次数

提取包含某个子字符串的每个完整单词

我正在尝试编写一个函数,从包含某个子串的句子中提取每个单词,例如在'Porky Pork Chop'中寻找'Po'将返回Porky Pork.

我已经在regexpal上测试了我的正则表达式,但Java代码似乎不起作用.我究竟做错了什么?

private static String foo()
    {

        String searchTerm = "Pizza";
        String text = "Cheese Pizza";

        String sPattern =  "(?i)\b("+searchTerm+"(.+?)?)\b";
        Pattern pattern = Pattern.compile ( sPattern );
        Matcher matcher = pattern.matcher ( text );
        if(matcher.find ())
        {
            String result = "-";
            for(int i=0;i < matcher.groupCount ();i++)
            {
                result+= matcher.group ( i ) + " ";
            }
            return result.trim ();
        }else
        {
            System.out.println("No  Luck");
        }
    }
Run Code Online (Sandbox Code Playgroud)

java regex

6
推荐指数
1
解决办法
1896
查看次数

生命周期参数错误:预期1,找到0

我很难在Rust看到指针.此代码将无法编译,因为:wrong number of lifetime parameters: expected 1, found 0 [E0107].那是什么意思?

struct Planet<'a> {
    name: &'a str,
    radius_km: i32,
    surface_area_km2: i64,
    orbital_period_days: i32,
    distance_from_sun: i64
}

fn mercury() -> Planet {
    Planet {
        name: "Mercury",
        radius_km: 2_440,
        surface_area_km2: 74_800_000,
        orbital_period_days: 88,
        distance_from_sun: 57_910_000
    }
}

fn main() {
    let mercury = Box::new(mercury());
    println!("{}",mercury.name)
}
Run Code Online (Sandbox Code Playgroud)

rust

6
推荐指数
1
解决办法
2748
查看次数