小编Lie*_*uwe的帖子

向量中的不可复制元素

我有一个不可复制的类(即复制构造函数和赋值运算符被标记为'delete').我想将它们保存在std :: vector中.

它是一个RAII类,所以简单地存储指针或引用它不是我想要的.

我对新的初始化列表和移动构造函数的了解有限,这可能吗?

c++ stl move-semantics c++11

15
推荐指数
1
解决办法
7200
查看次数

qt4中的QListViewItem发生了什么?

我没有做很多Qt编程所以这可能听起来像一个愚蠢的问题,但qt4中的QListViewItem发生了什么?

我有一段时间以前在qt3写的这个应用程序.我使用恰当的名称"qt3toqt4"程序(在Fedora平台上的所有这些)将其更改为qt4.

在内部,它似乎将许多类从QClass更改为Q3Class(可能提供某种向后兼容性),然后使用qt4进行编译.我今天遇到了一些问题(从QProcess读取stdout,但除此之外)我决定简单地在qt4中重写应用程序.

现在问题 - 我使用QListView,并在此结构中添加QListViewItems的负载.像这样的东西:

在此输入图像描述

但这在qt4中似乎不再可用.而且我找不到任何提供此行为的示例.有没有办法在qt4中这样做?为了使它更复杂 - 我使用了我自己的QListViewItems(派生自QListViewItem)......

qt qt4 qlistwidget qlistview qt3

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

ProgressDialog(Fragment)在方向开关上工作

如果我正确地执行以下操作,任何人都可以看看.我有一个有progressdialog的片段,我需要它在一个方向开关上工作.我目前这样做:

// I am using the compat libraries
import android.support.v4.app.DialogFragment;

public class ProgressDialogFragment extends DialogFragment {

    private ProgressDialog mProgressDialog = null;
    private int            mMax            = 100;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setStyle(DialogFragment.STYLE_NO_TITLE, 0);
        setRetainInstance(true);
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        mProgressDialog = new ProgressDialog(getActivity());
        mProgressDialog.setTitle("Title");
        mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        mProgressDialog.setCancelable(true);
        mProgressDialog.setProgress(0);
        mProgressDialog.setMax(mMax);
        mProgressDialog.setCanceledOnTouchOutside(false);

        return mProgressDialog;
    }

    // there seems to be a bug in the compat library - if I don't do the following - the dialog is not show …
Run Code Online (Sandbox Code Playgroud)

android progressdialog android-fragments

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

如何解决支持库中发生的分段故障问题?

我有一个非常奇怪的问题.我可以通过以下小样本代码复制问题:

#include <openssl/ssl.h>
#include <openssl/err.h>

#include <iostream>

void printSSLErrors()
{
    int l_err = ERR_get_error();
    while(l_err!=0)
    {
      std::cout << "SSL ERROR: " << ERR_error_string(l_err, NULL) << std::endl;
      l_err = ERR_get_error();
    }
}

int main(int argc, char* argv[]) {

    SSL_library_init();
    SSL_load_error_strings();

    // context
    SSL_CTX* mp_ctx;

    if(!(mp_ctx = SSL_CTX_new(SSLv23_server_method())))
    {
      printSSLErrors();
      return 0;
    }

    std::cout << "CTX created OK" << std::endl;

    // set certificate and private key
    if(SSL_CTX_use_certificate_file(mp_ctx, argv[1], SSL_FILETYPE_PEM)!=1)
    {
      printSSLErrors();
      return 0;
    }

    std::cout << "Certificate intialised OK" << std::endl;

    if(SSL_CTX_use_PrivateKey_file(mp_ctx, …
Run Code Online (Sandbox Code Playgroud)

c c++ openssl segmentation-fault

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

JTextArea 的大小

JPanel在一个JFrame. 其中一个面板包含一个JTextArea. 目前我这样创建:

JTextArea = new JTextArea(5, 40);
Run Code Online (Sandbox Code Playgroud)

这给了我一个 5 行乘(大约)40 列的文本区域。

这在垂直方向上按我的意愿工作,该区域填充了父容器的整个高度 - 可能是因为父容器是该行中唯一的元素。

水平方向上,父宽度由下面的元素决定,并且它(通常)比实际宽JTextArea。所以我最终得到了一个两边都有大边距的文本区域。更糟糕的是,当我将框架缩小到文本区域与父容器的宽度完全相同时,它突然“轻弹”并变为 1 行高的文本区域,然后是父容器的宽度.

请原谅下面的粗略图,它希望能说明这个问题。

在此处输入图片说明

简而言之:如何创建一个JTextArea始终填满可用空间的最大空间?(如果可能的话,如果用户将框架调整得更小,则出现滚动条的最小宽度)

java swing jtextarea layout-manager

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

Android <receiver> - 未调用BroadcastReceiver

我在清单中指定了一个接收器,如此...

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.me.MyProject"
          android:versionCode="1"
          android:versionName="1.0">

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

<application android:label="@string/app_name"
             android:icon="@drawable/ic_launcher" android:enabled="true">

    <service android:name="MyService" 
             android:exported="true"
             android:process=":different" 
             android:enabled="true">
        <intent-filter>
            <action android:name="com.me.MyService">
            </action>
        </intent-filter>
    </service>

    <receiver android:exported="true" 
              android:name="MySMSBroadcastReceiver" 
              android:enabled="true">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
        </intent-filter>
    </receiver>
</application>
Run Code Online (Sandbox Code Playgroud)

如果我在Android Froyo设备(模拟器或真实设备)上进行测试,这可以正常工作.当设备收到SMS时,将调用MySMSBroadcastReceiver.onReceive(...).

但是,如果我在4.0或4.1设备(模拟器或真实设备)上安装它,则传入的消息不会发生任何变化.没有错误,没有任何错误.我还更改了项目的属性以专门定位4.0或4.1设备并重新安装它,但这没有任何区别.

android broadcastreceiver

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

复选框默认值和OnCheckedChangeListener

这不是一个问题,但我试图找到一个正确的方法来做到这一点.

我有以下情况:

public class SettingsDialogFragment extends DialogFragment implements OnCheckedChangeListener {

...

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.settings, container);

    ...

    CheckBox lBox1  = (CheckBox)view.findViewById(R.id.checkBox1);

    lBox1.setOnCheckedChangeListener(this);
    lBox1.setChecked(true);

    return view;
}

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

    ....

}
Run Code Online (Sandbox Code Playgroud)

setChecked(true)遇到的"问题"是,通过调用onCheckChanged将会触发.我想当我给布局充气时 - CheckBox用错误的设置进行初始化,然后我将其更改为true确实是一个CheckedChanged事件.

我当然可以在设置初始值后改变顺序并分配监听器,但有没有办法给布局充气,同时以某种方式传递各种组件的初始值?它们是动态的,因此我无法将值修复为settings.xml中的特定值

干杯

checkbox android oncheckedchanged

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

MySQL 和日期时间

如果我有一个包含 DATETIME 列的表,我可以插入格式如下的日期:

2015-03-25 10:10:10
2015-03-25 10:10
2015-03-25 10
2015-03-25 
Run Code Online (Sandbox Code Playgroud)

它将用零填充余数。但我不能使用

2015-03 
2015
Run Code Online (Sandbox Code Playgroud)

因为它会给出“日期时间值不正确”错误。然而,可以在 SELECT 中使用最后两个,例如[..] WHERE timestamp < '2015-03'..

如果在日期时间中省略,MySQL 是否可以用 01-01 来填充日期时间的其余部分,或者我必须自己手动执行此操作?

即我想在 INSERT 语句中使用“2015-03”,或者执行类似的操作SELECT DATE_FORMAT('2015-03', '%Y%m%dT%H%i%S')

mysql datetime

3
推荐指数
1
解决办法
3759
查看次数

转换运算符问题

我今天早些时候偶然发现了这个"问题".

我有这个类,它包含一个转换运算符.就像是:

class myClass {
public:
    ...

    operator anotherClass*() { return anotherClassPtr; }

    ...
}
Run Code Online (Sandbox Code Playgroud)

现在这一切都很好..直到我犯了这个愚蠢的错误:

void yetAnotherClass::foo(myClass* _p_class) 
{
  ...

  anotherClass* lp_anotherClass = (anotherClass*)_p_class;

  ...
}
Run Code Online (Sandbox Code Playgroud)

我花了很长时间才弄清楚为什么lp_AnotherClass ptr被设置为非零而我确信_p_class中的anotherClassPtr为0.

有没有什么我可以添加到myClass会阻止我犯这个错误?(即编译器会吐出一些错误)是否有可能阻止对象ptr被强制转换为其他东西?

c++ operator-overloading

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

这是一种什么样的算法(稳定的婚姻变异)?

我有一组对象(介于1和大约500之间).每个对象与同一组中的某些(零个或多个)其他对象兼容.

任何人都可以给我一些指示,如何确定创建彼此兼容的对象对的最佳方法,以便集合中的大多数对象配对?

algorithm

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