小编abd*_*ahS的帖子

使用QSettings或QJson保存UI设置?

保存UI设置QSettings既麻烦又有问题,因为每次必须使用setValue()value()运行功能,并且还要定义可能在大型应用程序中出错的组,应用程序名称和组织:

QSettings settings(qApp->applicationDirPath() + "/" + qApp->applicationName() + ".ini" , QSettings::IniFormat) ...

settings.beginGroup("someGroup");
settings.setValue("someKey", "blah blah");
QString str = settings.value("someKey");
settings.endGroup();
Run Code Online (Sandbox Code Playgroud)

但是使用JSON可以更简单:

QJsonObject obj;
obj["someKey"] = "blah blah"
...
Run Code Online (Sandbox Code Playgroud)

保存和恢复ui设置的最佳做法是什么?

  • 保存每个键/值QSettings

  • 保存QJson并随后保存QSettings

  • QJson仅保存(使用另一种机制来定义组和应用程序)?

还有其他想法吗?

user-interface qt qsettings qjson

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

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

永久设置 make 使用的线程数

总是当我想在 Linux 中使用 make 命令进行编译时,我使用 -j9 运行它来设置要使用的线程数。有没有办法将其永久设置在环境路径或 .bashrc 文件或任何其他方式中?

linux multithreading makefile

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

在不暂停UI的情况下休眠

我写了这个简单的程序等待2秒然后更新文本框:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            for (int i = 0; i < 10; i++)
            {
                doSomething(i);
            }
        }
        public void doSomething(int i)
        {
            System.Threading.Thread.Sleep(2000);
            textBox1.Text += "this …
Run Code Online (Sandbox Code Playgroud)

c# wpf user-interface sleep thread-sleep

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

将 bool 数组转换为 int32 、unsigned int 和 double?

我有大小为 32、48、64 的 bool 数组(每个布尔值代表一个位)。如何将它们转换为具有良好性能的数字(int、unsigned int、double48、double64)?例如 :

bool ar[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1}
int num = bitArrayToInt32(ar,32);// num = 65
Run Code Online (Sandbox Code Playgroud)

c++ algorithm data-conversion boolean-operations

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

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

将一个字节转换为有符号字节或int

oxfc是负面的,但我把它作为a byte,它的值是252,有没有办法将其转换为签名byteint

我找到了这个方法:

(BitConverter.ToInt16(new byte[2] { 0, 0xfc }, 0) / 256).ToString()
Run Code Online (Sandbox Code Playgroud)

但还有更好的方法吗?

c# signed byte type-conversion

0
推荐指数
1
解决办法
3601
查看次数

布尔数组求和的速度

假设我想对一组布尔值求和:

bool arrray[LARGE_SIZE];
Run Code Online (Sandbox Code Playgroud)

下面哪一段代码速度更快?

int sum=0;
for(int i=0;i<LARGE_SIZE)
   if(array[i]) sum++;
Run Code Online (Sandbox Code Playgroud)

int sum=0;
for(int i=0;i<LARGE_SIZE)
   sum+=array[i] ;
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以加快速度吗?这些代码在循环中使用,即使很小的速度差异也很重要。

c++ arrays performance boolean sum

0
推荐指数
1
解决办法
1417
查看次数