http://blog.csdn.net/goforwardtostep/article/details/53494800…
WPF 自定义窗口样式有多种方式,不过基本核心实现都是在修改 Win32 窗口样式.然而,Windows 上的应用就应该有 Windows 应用的样子嘛,在保证自定义的同时也能与其他窗口样式保持一致当然能最大程度保证 Windows 操作系统上的体验一致性. 本文将使用 WindowChrome 来自定义窗口样式,使其既保留原生窗口样式和交互习惯,又能够具备一定的自定义空间.   使用 Windows 原生窗口体验的应用 在自定义窗口样式的同时保证一致的 Windows 窗口风格体验的优秀应用有…
1.在窗口显示之前,设置WindowFlags为FramelessWindowHint,以产生一个没有边界的窗口 例如 Widget::Widget(QWidget *parent) : QWidget(parent, Qt::FramelessWindowHint), //在此设置WindowFlags ui(new Ui::Widget) { ui->setupUi(this); //setWindowFlags(Qt::FramelessWindowHint); 或在构造函数体中设置 }…
1.问题场景 PC客户端登录界面仿QQ,上边显示图片,下边显示输入框和登录按钮.而JavaFX默认的窗口,不满足需求. 2.解决思路 隐藏窗口默认的标题栏,使用创建label对象,使用css将按钮图片替换到label对象中进行布局,充当按钮. 3.代码实现 代码片段: stage.initStyle(StageStyle.TRANSPARENT);//隐藏默认标题栏 代码片段: Label close = new Label(); close.setTooltip(new Tooltip("关闭…
一.问题场景 PC客户端登录界面仿QQ,上边显示图片,下边显示输入框和登录按钮.而JavaFX默认的窗口,不满足需求. 二.解决思路 隐藏窗口默认的标题栏,使用创建label对象,使用css将按钮图片替换到label对象中进行布局,充当按钮. 三.代码实现 Java 代码,代码举例自定义标题栏样式. /** * 程序入口 * @author Light */ public class JavaFXTest extends Application { @Override public void s…
1.建一个WPF资源词典,在其中定义窗口样式,并在App.xaml中指定其为程序资源 2.写一个继续自windows的类,并指定这个类的Style为第一步资源里的样式 3.新建窗口时,分别把xaml文件和cs文件中的windows替换成第二步自定义的类 源码下载 http://files.cnblogs.com/Laro/TeryWindows.rar…
原文:WPF编程,使用WindowChrome实现自定义窗口功能的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/88064191 效果: 1.安装:下载地址可网上找,也可从最后的地址 2.增加引用 3.增加命名空间         xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Microsoft.Windows.…
1.QT自定义标题栏,拖拽标题栏移动窗口(只能拖拽标题,其他位置无法拖拽) 方法一: 转载:http://blog.sina.com.cn/s/blog_4ba5b45e0102e83h.html .h文件中 //自己重新实现拖动操作 protected: void mouseMoveEvent ( QMouseEvent * event ); void mousePressEvent ( QMouseEvent * event ); void mouseReleaseEvent(QMouseE…
在这里自定义窗口是通过继承于QFrame,内部分为上下两部分,上半部分就是标题栏,下面是窗口的具体内容.上下两部分通过布局固定位置.最后窗口的各种鼠标拖动,缩放,等操作通过添加鼠标事件来完成一个窗口的常规功能.当然,这个标题栏可以通过布局的改变把它放到任意地方. 下面是实现的代码: #pragma once #ifndef CUSTOMWIDGET_H_ #define CUSTOMWIDGET_H_ #include <QtWidgets/QFrame> class QToolButton;…
我们介绍可以画自己的第一个自定义窗口部件.我们也加入了一个有用的键盘接口.我们添加了一个槽:setRange().        void setRange( int minVal, int maxVal );现在我们添加了设置LCDRange范围的可能性.直到现在,它就可以被设置为0-99.在构造函数中有一个变化. void LCDRange::setRange( int minVal, int maxVal ) { if ( minVal < 0 || maxVal > 99 || min…
Qt::Widget : QWidget构造函数的默认值,如新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件. Qt::Window : 无论是否有父窗口部件,新窗口部件都是一个窗口,通常有一个窗口边框和一个标题栏. Qt::Dialog : 新窗口部件是一个对话框 Qt::Sheet : 新窗口部件是一个Macintosh表单. Qt::Drawer : 新窗口部件是一个Macintosh抽屉. Qt::Popup : 新窗口部件是一个弹出式顶层窗口. Qt::Tool…
QtDesigner自定义窗口部件有两种方法:改进法(promotion)和插件法(plugin)   改进法   1.改进法之前,要先写好子类化QSpinBox后的HexspinBox.h和HexspinBox.cpp文件.把这两个文件拷贝到想要的项目中.   HexspinBox.h #ifndef HEXSPINBOX_H #define HEXSPINBOX_H #include <QSpinBox> class QRegExpValidator; class HexSpinBox :…
qt 中允许自定义窗口控件,使之满足特殊要求, (1)可以修改其显示,自行绘制 (2)可以动态显示 (3)可以添加事件,支持鼠标和键盘操作 自定义控件可以直接在QtDesigner里使用,可以直接加到父窗口里. 绘制窗口 1.新建一个类,继承与QWidget或QFrame,最好是继承于QFrame 2.重写以下函数 void CellMonitor::paintEvent(QPaintEvent *event) { QPainter painter(this) } 3.使用这个类 例子:画一个圆…
Win 10 app对窗口标题栏的自定义包括两个层面:一是只定义标题中各部分的颜色,如标题栏上文本的颜色.三个系统按钮(最大化,最小化,关闭)的背景颜色等:另一层是把窗口的可视区域直接扩展到标题栏上,当然三个系统按钮是保留的.也可以用某个UI元素来作为标题栏来呈现. 先看最简单的一层,即设置标题栏各部分的颜色. ApplicationView类表示当前应用程序视图相关操作,它公开了一个TitleBar属性,访问该属性可以获取到一个ApplicationViewTitleBar实例,通过该Appl…
一.QLineEdit说明 QLineEdit是单行文本框,不同于QTextEdit,他只能显示一行文本,通常可以用作用户名.密码和搜索框等.它还提供了一些列的信号和槽,方便我们使用,有兴趣的小伙伴可以直接去看帮助文档,我在这里就不多废话了.但是呢,我在这里却要单独的说几个接口,因为他们很容易被人忽略,但是却又是一个很好用.可以经常用到的功能. addAction(QAction *action, ActionPosition position):可以在编辑框的开始或者末尾添加一个action,…
无论是在工作和学习中使用WPF时,我们通常都会接触到CustomControl,今天我们就CustomWindow之后的一些边角技术进行探讨和剖析. 窗口(对话框)模态闪动(Blink) 自定义窗口的四边拖拽支持 自定义窗口最大化(位置/大小) 童鞋们在WPF开发过程中是否觉得默认的Style太丑,或者是由Balabala的一些原因,使你觉得重写一个“高大上”的Window来符合项目的UI要求(小明:“我们使用Telerik”  老师:“什么?你说你们使用第三方UI框架?滚出去!”)经过半天的努…
在WPF中自定义窗体标题栏,首先需要将窗体的WindowStyle属性设置为None,隐藏掉WPF窗体的自带标题栏.然后可以在窗体内部自定义一个标题栏. 例如,标题栏如下: <WrapPanel Height="30" MouseMove="TitleBar_MouseMove" MouseDown="TitleBar_MouseDown" Background="#4C9CFB" DockPanel.Dock=&quo…
之前Blog里面有关于QWT的编译.配置.使用的文章,分别是在VS与Creator下进行的. QWT编译.配置.使用(VS2010 + Qt5.1.0). QWT编译.配置.使用(Qt Creator).     里面介绍了如何将QWT集成到Designer中.如果认真研究过的话,那么对Designer中使用插件应该就不再陌生了.     下面介绍下自己如何去实现一个插件并将其应用到Designer中.     也可参考:Creating Custom Widgets for Qt Design…
主要思路:1:将窗体设为Qt::FramelessWindowHint(去掉标题栏).2:用一幅有部分区域是透明的图片作为程序的界面,并将图片透明的地方设为穿透. 3:重载程序的鼠标事件. 运行时截图(浅绿色的是桌面背景) 源代码: #include <QtGui> class IrregularWidget : public QWidget { Q_OBJECT public: IrregularWidget(QWidget *parent = 0); protected: void mou…
1.效果展示 今天这篇文章主要讲解的是自定义搜索框,不仅仅支持搜索,而且可以支持搜索预览,具体请看效果图1.网上也有一些比较简单明了的自定义搜索框,比如Qt之自定义搜索框,讲的也比较详细,不过本文的侧重点不仅仅是搜索,而且包括了检索功能.有兴趣的小伙伴可以看下步骤3的思路讲解. 图1 自定义搜索框 2.功能分析 这个自定义搜索框支持输入一定的数据源,然后通过检索窗口进行搜索数据,匹配到的数据会优先展示到预览下拉框,预览窗口支持hover高亮整行.仔细阅读demo源码的同学可能就会发现其实这个搜搜…
上一篇文章讲述了自定义Qt托盘,不过不是使用QSystemTrayIcon这个类,而是我们自己完全自定义的一个类,我们只需要处理这个类的鼠标hover.鼠标左键点击.鼠标右键点击和鼠标左键双击,就可以完全模拟出qq的托盘样式来.文章的最后我也是提供了一个demo的下载链接,那是一个可以完全运行的demo,处理了鼠标hover事件,并模拟出了鼠标离开和进入事件,这一节我将一步一步讲解怎么实现一个完美的托盘,包括托盘菜单的显示.托盘tooltip和托盘hover时的弹框显示. 看本片文章之前,同学们…
1. 框架代码 用 PyCharm 新建一个名为 SimplePaintApp 的项目,然后新建一个名为 simple_paint_app.py 的 Python 源文件, 在代码编辑器中,输入以下框架代码 from kivy.app import App from kivy.uix.widget import Widget class MyPaintWidget(Widget): pass class MyPaintApp(App): def build(self): return MyPai…
开发项目时,按照美工的设计其外边框(包括最大化,最小化,关闭等按钮)自然不同于 Window 自身的,但窗口的外边框及窗口移动.最小化等标题栏操作基本都是一样的.所以通过查看资料,可按如下方法创建继承自 Window 基类的自定义窗口基类. 一.窗口基类的创建 添加一个名为 BaseWindow 的 C# 的后台类,Window 类在 System.Windows 命名空间下.像关闭事件,双击事件.最大化与还原事件可能存在重载版本的时间及方法需要用 virtual 关键字标识. using Sy…
将要介绍的是:QT中自定义系统托盘(systemtray)的一个Demo,希望能帮需要的读者快速上手. 前提假设是诸位已经知道QT中的signals .slot以及资源文件,所以关于这些不会再累述. 我的QT版本如下: 整体的工程目录如下所示: 创建过程如下: 首先新建一个MainWindow工程,工程名为systemTray,会包含5个文件systemTray.pro.main.cpp.mainwindow.h.mainwindow.cpp和aminwindow.ui 这时运行程序会生成一个空…
为Windows窗口标题栏添加新按钮   对于我们熟悉的标准windows窗口来讲,标题栏上一般包含有3个按钮,即最大化按钮,最小化按钮和关闭按钮.你想不想在Windows的窗口标题栏上添加一个新的自定义按钮,满足你的个性化需求,从而也使自己的窗口更具特色呢? 下面我们就讨论一下在delphi中如何给窗口的标题栏上添加新的按钮. 一.实现起来要定义以下过程: 1. 定义DrawCaptButton过程,这个过程的功能是在指定的位置画出按钮. 在过程中要使用win32函数GetSystemMetr…
原文:WPF绘制自定义窗口 WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素: 窗体的圆角 自定义标题栏及按钮 自定义状态栏 窗体的半透明效果 窗体4周有一圈半透明阴影(抓的图上看不出来) 实现思路很简单,首先隐藏默认窗口的标题栏和边框,然后用WPF的Border或Canvas等元素模拟定义窗体的标题栏.内容区和状态栏. 具体实现如下: 第一步:定义义个窗口基类,继承自Window,在构造函数中加载自定义窗口的样式文件…
原文:wpf 自定义窗口,最大化时覆盖任务栏解决方案 相信很多人使用wpf时会选择自定义美观的窗口,因此会设置WindowStyle="None" 取消自带的标题栏.但这样使用 WindowState="Maximized" 或者后台 this.WindowState = System.Windows.WindowState.Maximized; 最大化窗口会覆盖掉系统任务栏,即全屏了.这其实并不是个很好的体验. 在网上找答案,排名靠前的都是提供用hook钩子,篇幅…
1.wpf自定义窗口: WindowChrome类描述:https://msdn.microsoft.com/zh-cn/library/system.windows.shell.windowchrome.aspx 示例样式效果: 1.设置GlassFrameThickness=0 隐藏默认标题栏 2.最大化最小化不会盖住任务栏 <Window x:Class="WindowChromeTest.MainWindow" xmlns="http://schemas.mic…
C++ GUI Qt4编程-创建自定义窗口部件   Qtqt4 通过Qt窗口部件进行子类化或者直接对QWidget进行子类化,就可以创建自定义窗口部件,下面示范两种方式,并且也会说明如何把自定义窗口部件集成到Qt设计师中,这样就可以像使用内置的Qt窗口部件一样来使用它们,最后展示使用双缓冲技术(一种用于快速绘制的强大技术)的自定义窗口部件. 1.自定义Qt窗口部件 我们发现Qt窗口部件需要更多的自定义定制,这些定制可能要比它在Qt设计师里设置的属性或者对它调用的那些函数更多一些,一个简单而直接的…
在WPF界面开发中,有时候不想用系统的死板的窗口,想要来点新花样,常会自定义窗口. 那么,先抛出问题,想搞出下面这样的窗口,该咋整 ? aa  下面看一个啥也没设置过的普通窗口,这样的窗口,我们只能控制客户区,也就是白色部分,标题的棕色部分长啥样,我们控制不了. 所以我们要做的就是把窗口的棕色部分,也整成我们想写啥就写啥.下面放上我实现的效果,源码  https://files.cnblogs.com/files/CSSZBB/CustomWndow.rar 下面娓娓道来,一个窗口大概需要实现的…