小编Sem*_*ger的帖子

如何在Qt Creator中设置选项卡小部件的背景颜色?

我正在使用Qt Creator.在我的GUI中,我使用了一个标签小部件.此小部件应具有与主窗口相同的灰色背景颜色(图片A).我通过在Qt Designer中编辑样式表来完成这个:

background-colour: rgb(240, 240, 240);
Run Code Online (Sandbox Code Playgroud)

但现在我有两个我无法解决的新问题:

  • 按钮( - >发送)不再舍入.
  • 编辑框的背景颜色也已变为灰色.

因为我在图B中更改了GUI样式表.

我也试过了

QPalette pal = m_pUi->tabWidget->palette();
pal.setColor(m_pUi->tabWidget->backgroundRole(), Qt::blue);
m_pUi->tabWidget->setPalette(pal);
Run Code Online (Sandbox Code Playgroud)

但这只会改变标签后面的颜色,而不是整个"标签窗口 - 表面"的整个颜色.

我是否必须制作其他样式说明,还是有更简单的解决方案?

图A  - 带样式表

图A - 带样式表

图B  - 没有样式表

图B - 没有样式表

user-interface qt4 qt-designer

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

如何在google测试中为多个测试初始化​​常量字符串?

我正在使用谷歌测试,我有一个包含几个测试的cpp文件.我想在开始第一次测试时用当前日期和时间初始化一个字符串.我也希望在所有其他测试中使用此字符串.我怎样才能做到这一点.

我已经尝试了以下(m_string作为受保护的成员CnFirstTest),但它不起作用(因为构造函数SetUp将在每次测试之前调用):

CnFirstTest::CnFirstTest(void) {
    m_string = currentDateTime();
}

void CnFirstTest::SetUp() {
}



TEST_F(CnFirstTest, Test1) {
    // use m_string
}

TEST_F(CnFirstTest, Test2) {
    // use m_string, too
}
Run Code Online (Sandbox Code Playgroud)

tdd googletest

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

通过嵌入式 dll 从多个应用程序连接到一个 firebird 数据库

我对数据库编程比较陌生。我将 firebird 2.5 与 IBPP 一起使用。我至少有两个应用程序使用 sampe firebird 数据库。我想连接嵌入式变体(fbembedded.dll、icudt30.dll、icuc30.dll),因为它将成为客户 PC 上的主机应用程序。我写了一个简单的测试应用,从数据库中读取数据,同时启动这个应用3次。一切正常。

但是现在我不确定这是否总是有效,以及是否稳定运行而不会损坏数据。因为当我使用查看器 ibexpert 与数据库建立连接时,我的测试应用程序无法连接到数据库。此外,文档 sais ( firebirdEmbedded ):

您可以同时运行多个嵌入式服务器,也可以将多个应用程序连接到同一个嵌入式服务器。拥有一个已经在运行的常规服务器也不是问题。 但是,嵌入式服务器在成功连接后会锁定数据库文件以供其独占使用。这意味着您不能同时从多个嵌入式服务器进程(或从任何其他服务器,一旦嵌入式服务器锁定文件)访问同一个数据库。

文档对吗?我的示例应用程序似乎相反。不久前我在我的电脑上安装了一个 firebird 超级服务器,但在测试之前卸载了它。

database firebird embedded-database firebird-embedded

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

如何修改boost :: apply_visitor以返回值?

我正在尝试使用boost :: variant和boost :: apply_visitor.这已经有效了,除非我试图让Vistor的函数返回一个(布尔值).我在SO上做了很多这样的例子,但我无法创建一个工作样本.这是我的代码没有返回值:

#include <iostream>
#include <boost/variant.hpp>
#include <string>
#include <conio.h>


class CnVisitor : public boost::static_visitor<>
{
public:
    void operator()(double& valueFloat ) const
    {
        std::cout << (double)valueFloat;
    }

    void operator()(std::string& valueString ) const
    {
        std::cout << valueString.c_str ();
    }
};


int main()
{
    std::vector< boost::variant< double, std::string >> vec;

    vec.push_back((double)1.423423);
    vec.push_back((std::string)"some text");

    CnVisitor l_Visitor;

    for ( int i = 0; i < vec.size (); ++i )
    {
        boost::apply_visitor ( l_Visitor, vec[i] );
    }

    _getch ();
}
Run Code Online (Sandbox Code Playgroud)

c++ boost-variant apply-visitor

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

如何忽略VBA中的返回值?

是否可以在VBA中忽略函数的返回值?

我现在要做的是:

Dim returnValue As Long 'This line is mandatory since I use Opition Explicit
returnValue = MsgBox("...")
Run Code Online (Sandbox Code Playgroud)

我想做什么

MsgBox("...")
Run Code Online (Sandbox Code Playgroud)

在C++中,我会这样解决:

(void) MsgBox("...")
Run Code Online (Sandbox Code Playgroud)

(如何)我可以在Excel-VBA中解决这个问题?

excel vba excel-vba

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

如何运行(和编译)带有gcc参数的C文件?

我认为这是一个非常简单的问题,但我对命令行的经验较少.我有一个我想要运行的旧C程序.它显示以下文本:

/*      This is a stand-alone program intended to generate ...  It is called*/
/*      as follows:                                                         */
/*                                                                          */
/*          tw_r2fft N > outputfile.c                                       */ 
/*      This program will generate the ... array 'w'                        */
/*      and output the result to the display.  Redirect the                 */
/*      output to a file as shown above.                                    */
Run Code Online (Sandbox Code Playgroud)

我试过(在cmd中):

gcc tw_r2fft.c 1024 > outputfile.c
Run Code Online (Sandbox Code Playgroud)

gcc的错误消息是:

gcc: 1024: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我尝试了一些变化但没有成功.

c command-line gcc

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