首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    6.wxPython防止窗体重画棋子消失的机制

    可以画图的类中wx.ClientDC不必依赖窗体绘画事件,可以随时实例化,随时画图。但是窗体最小化之后再恢复,重画的窗体上通过wx.ClientDC绘制的棋子会消失。而wx.PaintDC依赖于窗体绘图事件,需要在事件处理函数中实例化,优点是窗体重画之后绘制的图形不会消失,棋盘就是通过wx.PaintDC画出的。结合两个绘图类的特点,我们可以绘制出不会消失的棋子。 我们的方法是通过建立一个元组列表self.piecePos,列表包含已经落子的位置坐标组成的元组数据。随着落子,程序通过列表的方法append随时添加到元组列表。同时,在绘图事件处理函数中通过wx.PaintDC的对象将元组列表中的位置再画上棋子,这样即使窗体重画,棋子也不会消失。同时我们还要建立一个既记录位置又记录棋子颜色的元组列表self.piecePosCols,来保证棋子重绘时颜色不会出错。

    02

    浅谈如何在C#Winform程序中正确使用登录窗体

    看到很多朋友在CSDN中发帖放分求“如何实现登录验证正确后弹出主窗体”的问题。关于这个问题的实现方法,一般很多人都是使用在登录窗体点击“登录”按钮后,通过后台数据验证正确后,把登录窗体隐藏,然后载入主窗体。还有一种做法是以上提问的这些人的一个不太对的一个实现办法(其实是无法实现的),他们的做法是点击“登录”按钮后,调用this.close()方法去把登录窗体关闭,然后实例化主窗体            frmMain dlg=new frmMain();            dlg.ShowDialog();          用以上代码想实现登录后加载主窗体,你可以发现,当点击“登录”按钮后,登录窗体确实是关闭了,然后程序加载主窗体,主窗体是一闪而过,随即又关闭了。这是为什么呢?其实,你调用登录窗体的关闭事件时,把进程给关了,frmMain和frmLogin窗体是同一个进程,所以就出现了以上的一闪而过的现象。          那么我们如何能够实现验证登录信息正确后加载主窗体呢?我的答案是通过验证返回参数去实现过程控制。          在程序的类库里定义一个全局变量,如Bool  bLoginOk=false;          此变量在未作登录时的初始值为false。          在项目中的Program.cs中,通过先加载frmLogin,点击登录窗体中的“登录”按钮后,在后台查询数据库验证合法性,如果合法,则把bLoginOk赋值true;否则赋值falsse。          在最后通过判断bLoginOk的值         if(bLoginOk==true)        {            Application.run(frmMain);        }       else           Application.Exit();           同样可以通过以上的方法实现验证数据库连接参数的准确性。

    01

    Qt编写控件属性设计器2-拖曳控件

    上一篇文章把插件加载好了,并且把插件中的所有控件都显示到了列表框中,这次要做的就是实现拖曳控件的功能,用户选择一个控件拖曳到画布上,松开,在松开位置处自动实例化该控件,这个需要用到dropEvent和dragEnterEvent事件,重新实现这两个事件,对拖曳的对象进行过滤并调用函数实例化该控件,在实例化该控件的同时实例化控件跟随控件以便拉伸调整大小和位置。这里需要注意的是dragEnterEvent是必须的,很多人以为拖曳只要实现dropEvent就可以了,其实不行的,没有效果的,需要先dragEnterEvent来过滤好了执行event->accept()才行,不然根本没有效果,很多人尤其是初学者都挂在这里,我就是在这里摔了一跤,好疼!

    00

    《Java 2 图形设计卷Ⅱ- SWING》第2章 Swing的基本知识

    本章介绍开发Swing小应用程序和应用程序时要用到的Swing的基本知识。  虽然Swing是AWT的扩展,但是两者的基本概念还是有许多不同之处。首先,Swing小应用程序和应用程序的实现方式与AWT小应用程序和应用程序的实现方式有所不同。而且,如果开发人员想要开发同时使用AWT组件和Swing组件的小应用程序或应用程序,则还必须注意混合使用轻量组件和重量组件所带来的许多问题。  Swing是线程不安全的,这就是说,在大多数情况下,只能从事件派发线程中访问Swing组件。本章将介绍采用这种方法的原因及使用这种方法所带来的结果,另外,本章还介绍了Swing提供的一些机制,这些机制使其他线程能从事件派发线程中执行代码。

    02
    领券