小编Maz*_*ake的帖子

在erlang中:如何在面板中扩展wxNotebook?

(我已经将这个问题标记为Python,因为我理解Python代码,因此也欢迎使用Python中的示例!).

我想在wxWidgets中创建一个简单的窗口:
我创建了一个主面板,我将其添加到一个表单中,我将
一个boxsizer与主面板相关联(将它分成两个,水平).
我将LeftPanel添加到boxsizer,
我将RightPanel添加到boxsizer,
我创建一个新的boxsizer(垂直)
我创建另一个boxsizer(水平)
我创建一个Notebook小部件
我创建一个Panel并将其放入Notebook(addpage)
我添加了笔记本到新的boxsizer(垂直一个)
我在水平测量器中添加垂直
测量器
我将水平测量器与RightPanel相关联我将左和右面板添加到主测量器.

这不起作用......

也许我错过了一些东西(约施胶剂心理障碍),但我会喜欢做的是扩展笔记本部件不与水平线在内部使用了垂直分级器(它不反正工作).

所以我的问题是.假设我想在RightPanel中扩展Notebook小部件以占用表单右侧区域的其余部分,我将如何进行此操作?

对于那些了解Erlang的人来说,这就是我到目前为止所拥有的:

mainwindow() ->
  %% Create new environment
  X = wx:new(),

  %% Create the main frame
  MainFrame = wxFrame:new(X, -1, "Test"),
  MainPanel = wxPanel:new(MainFrame, [{winid, ?wxID_ANY}]),
  MainSizer = wxBoxSizer:new(?wxHORIZONTAL),
  wxWindow:setSizer(MainPanel, MainSizer),

  %% Left Panel...
  LeftPanel = wxPanel:new(MainPanel, [{winid, ?wxID_ANY}]),
  LeftPanelSizer = wxBoxSizer:new(?wxVERTICAL),
  wxWindow:setSizer(LeftPanel, LeftPanelSizer),
  wxWindow:setMinSize(LeftPanel, {152, -1}),

  %% Right Panel
  RightPanel = wxPanel:new(MainPanel, [{winid, ?wxID_ANY}]),
  RightPanelVerticalSizer = wxBoxSizer:new(?wxVERTICAL),
  RightPanelHorizontalSizer = wxBoxSizer:new(?wxHORIZONTAL),
  wxWindow:setBackgroundColour(RightPanel, …
Run Code Online (Sandbox Code Playgroud)

python erlang layout wxwidgets

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

在postgresql中:如何创建一个可以重置的简单计数器?

我想实现以下目标:

ID | Counter
------------
 0 | 343
 1 | 8344
Run Code Online (Sandbox Code Playgroud)

现在说我要更新ID 1的计数器,,,最简单的方法是什么?我使用序列吗?我只是读取值并更新?它有什么特殊类型吗?

我正在考虑使用序列,但后来我必须为每个ID创建一个(可能超过1000.我也将面临我不知道需要多少序列的问题所以我必须检查是否有一个ID和等等的序列...我不想要那个.

假设这些数字是属于某个组的用户,那么我想到的另一种选择是为每个计数输入一行,当我想要获取数字时,我会通过id或者某事执行选择组并得到数字行.

编辑:澄清我收到一个csv中的用户列表,我的程序每天处理几次(新的csv一天几次).然后,根据用户今天是否已发送消息(例如),我增加该用户所属组的计数器.现在在某一点上我想要提取组(可以是动态的,它取决于我在白天得到的)并获得我增加的数字并重置它.希望这更能解释它:D

感谢您的帮助到目前为止,我将进行实验:D

你怎么看?

postgresql

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

声明一个接受和返回"ostream&"而不是重载operator <<的函数有什么用?

我遇到过函数,而不是重载运算符<<与cout一起使用,声明一个函数,它接受一个ostream并返回一个ostream

例:

#include <iostream>

class A {
private:
  int number;
public:
  A(int n) : number(n) {}
  ~A() {}
  std::ostream& print(std::ostream& os) const;
  friend std::ostream& operator<<(std::ostream& os, const A a);
};
Run Code Online (Sandbox Code Playgroud)

实施的一个例子:

std::ostream& A::print(std::ostream& os) const {
  os << "number " << number;
  return os;
}

std::ostream& operator<<(std::ostream& os, const A a) {
  os << "number " << a.number;
  return os;
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我运行这个,我可以在不同的情况下使用不同的功能.例如

int main() {
  A a(1);

  std::cout << "Object.";  a.print(std::cout);
  std::cout << "\n\n";
  std::cout << "Object." << a;
  std::cout …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading

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