我习惯使用C#.Net进行Windows应用程序开发.现在我对Python感兴趣了,我需要知道创建一个Windows应用程序的最佳方法,该应用程序具有最小化到系统托盘的功能,像visual studio那样具有开发应用程序的GUI方式.有什么建议吗?
我很困惑为什么我的Python unittest运行完全没有实际更新数据库.
我甚至可以从SQLAlchemy看到SQL语句并逐步完成新创建的用户对象的电子邮件 -
...INFO sqlalchemy.engine.base.Engine.0x...954c INSERT INTO users (user_id, user_name, email, ...) VALUES (%(user_id)s, %(user_name)s, %(email)s, ...)
...INFO sqlalchemy.engine.base.Engine.0x...954c {'user_id': u'4cfdafe3f46544e1b4ad0c7fccdbe24a', 'email': u'test@example.com', ...}
> .../tests/unit_tests/test_signup.py(127)test_signup_success()
-> user = user_q.filter_by(user_name='test').first()
(Pdb) n
...INFO sqlalchemy.engine.base.Engine.0x...954c SELECT users.user_id AS users_user_id, ...
FROM users
WHERE users.user_name = %(user_name_1)s
LIMIT 1 OFFSET 0
...INFO sqlalchemy.engine.base.Engine.0x...954c {'user_name_1': 'test'}
> .../tests/unit_tests/test_signup.py(128)test_signup_success()
-> self.assertTrue(isinstance(user, model.User))
(Pdb) user
<pweb.models.User object at 0x9c95b0c>
(Pdb) user.email
u'test@example.com'
Run Code Online (Sandbox Code Playgroud)
然而,在同一时间,当我登录到测试数据库,我也没有看到新的记录在那里.Python/unittest/SQLAlchemy/Pyramid/PostgreSQL的一些功能是否完全没有意识到?
谢谢.
杰瑞
我正在尝试在MAMP下的终端中使用PHP,但是我收到了与系统时区设置有关的错误.我该如何解决这个错误?
$/Applications/MAMP/bin/php5/bin/php echo.php
PHP严格标准:PHP启动:依赖系统的时区设置是不安全的.请使用date.timezone设置,TZ环境变量或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们在第0行选择'亚洲/马尼拉'作为'PHT/8.0 /无DST'而不是未知
我缺乏语言的行业经验.但是在业余时间,我遇到了几个需要比较指针的地方,最好是标准定义的行为.
第一种情况,如果我决定在我的应用程序中使用有序二叉树作为容器(而不是哈希表)并且我希望相等是对象的标识(即相等意味着相同的实例),那么我发现没有可移植的方法来做到这一点.
其次,如果我想测试"完整对象"和它们的子对象之间的包含关系,我似乎再没有可移植的方法.那就是如果我有两个void*指针"p"和"q",并且我有"q"所指向的对象的大小,我看不出来测试"p"是否是非静态成员变量"q"与否.我没有从标准中的第5.9段("关系运营商")中找到鼓励.例如,后一种情况出现在这个提升论坛帖子的垃圾收集器中.我喜欢这个一般的想法并开始探索它,但是某些部分似乎以不可移植的方式使用指针和分配语义.
那就是我想知道如何contains从以下代码中获取该函数的可移植性:
#include <stddef.h>
#include <assert.h>
struct A {
int x;
} a;
struct B {
int y;
} b;
bool contains(const void *outer, size_t size, const void *inner)
{
return (outer <= inner) &&
(inner < static_cast<const char *>(outer) + size);
}
int main()
{
assert(contains(&a, sizeof(a), &a.x));
assert(contains(&b, sizeof(b), &b.y));
assert(!contains(&a, sizeof(a), &b.y));
assert(!contains(&b, sizeof(b), &a.x));
}
Run Code Online (Sandbox Code Playgroud)
谢谢和最好的问候.
PS:
好的,在再次查阅标准之后,我看到它明确地说明了,正如GMan在他的回答中所说的那样less,函子如less_equal指针和提供指针的总排序.我想这也暗示顺序将与内置的比较符一致<和<=,但是这点可以更迂腐解决.当指针不指向同一数组或同一对象的子对象时,内置运算符是不可预测的.我的意思是,这个总顺序中的独特性测试是什么 - 指针的二进制表示?例如,如果没有明确定义的方式与内置运算符进行比较,那么void*指针的总顺序中的不相同是什么意思? …
如果我是这样的一个班级,
class Sample
{
private:
int X;
};
Run Code Online (Sandbox Code Playgroud)
然后我们无法从外部访问X,所以这是非法的,
Sample s;
s.X = 10; // error - private access
Run Code Online (Sandbox Code Playgroud)
但是我们可以在不编辑课程的情况下访问它!我们需要做的就是这个,
#define private public //note this define!
class Sample
{
private:
int X;
};
//outside code
Sample s;
s.X = 10; //no error!
Run Code Online (Sandbox Code Playgroud)
ideone上的工作代码:http://www.ideone.com/FaGpZ
这意味着,我们可以通过在类定义之前或之前定义这样的宏来更改访问说明符#include <headerfile.h>,
#define public private //make public private
//or
#define protected private //make protected private
//or
#define so on
Run Code Online (Sandbox Code Playgroud)
这不是C++的问题(宏/访问说明符/什么)?
无论如何,这个主题的重点是:
使用宏,我们很容易违反封装.访问说明符并非万无一失!我对吗?
我使用JQuery,FLXHR从Cross Browser获取数据.
下面是示例jquery代码:
// set up the domain that we're going to call and tell flXHR not to try to parse the response as XML..
$.flXHRproxy.registerOptions("http://staging/", {xmlResponseText:false});
// set flXHR as the default XHR object used in jQuery AJAX requests
$.ajaxSetup({transport:'flXHRproxy'});
$.ajax({
type:"POST",
url: "http://staging/Login.aspx", // Send the login info to this page
data: str,
dataType: "json",
success: function(result)
{
// Show 'Submit' Button
$('#loginButton').show();
// Hide Gif Spinning Rotator
$('#ajaxloading').hide();
}
});
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我使用JQuery和Flash进行跨浏览器交互,上面的代码工作正常,使用http://staging/Login.aspx,但是当我要使用https://staging/Login.aspx(HTTPS)时验证它给我错误(NS_ERROR_PROXY_CONNECTION_REFUSED) …
我正在使用Visual Studio 2010并且已经下载了CR(Crystal Reports),但是当我在该工具中搜索Crystal Reports查看器时,该工具不存在,那么如何才能显示已创建的报告?
是否有使用ReportViewer的教程?
我们有一个包含很少源文件(Scala和Java)的Scala项目,以及各种二进制格式(jar和DLL)中的一些依赖项.我想知道我们的共享git repo应该是什么.只有源文件(开发人员必须下载或以某种方式解析依赖项本身)或源文件和依赖项?我可以补充说,依赖项都是第三方,可以免费下载.
我正在尝试在加载一些数据时显示旋转进度,但直到数据加载后才显示?
以下是我尝试这样做的方法:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.screen1);
//Show spinner while data is being loaded
ProgressDialog dialog = ProgressDialog.show(this, "", "Loading. Please wait...", true);
LoadPreferences();
LoadData();
//Remove the spinner once all the data has been loaded
dialog.dismiss();
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
更新的代码:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.screen1);
//Show spinner while data is being loaded
final ProgressDialog dialog = ProgressDialog.show(this, "", "Loading. Please wait...", true);
// define and run background thread
Thread backgroundThread = new Thread(new Runnable()
{
public void …Run Code Online (Sandbox Code Playgroud) android ×2
c++ ×2
python ×2
command-line ×1
comparison ×1
git ×1
ide ×1
jquery ×1
macros ×1
php ×1
pointers ×1
postgresql ×1
pyramid ×1
resources ×1
scala ×1
sqlalchemy ×1
timezone ×1
unit-testing ×1