[MFC对话框简单实现窗口全透明的方法]前言:在Vista系统中利用dwapi.dll实现窗体全透明的方法,在网上更多的资源是基于WTL或是C&emsp,借此发布一下基本MFC对话框实现此此功能的最简单的方法。本方法只是实现整个程...+阅读
//窗口A
#ifndef A_H
#define A_H
#include
#include
class A : public QWidget
{
Q_OBJECT
public:
explicit A(QWidget *parent = 0);
signals:
void showB(bool isShow);
protected:
void mousePressEvent(QMouseEvent *event);
public slots:
};
#endif // A_H
//A.cpp
#include "a.h"
A::A(QWidget *parent) :
QWidget(parent)
{
this->setWindowTitle("我是A");
}
void A::mousePressEvent(QMouseEvent *event){
if(event->button()==Qt::LeftButton){
emit showB(true);
this->deleteLater();
}
}
//窗口B
#ifndef B_H
#define B_H
#include
class B : public QWidget
{
Q_OBJECT
public:
explicit B(QWidget *parent = 0);
signals:
public slots:
void showB(bool isShow);
};
//B.cpp
#include "b.h"
B::B(QWidget *parent) :
QWidget(parent)
{
this->setWindowTitle("我是B");
}
void B::showB(bool isShow){
if(isShow)
this->show();
else
this->deleteLater();
}
//main.cpp
#include
#include
#include "a.h"
#include "b.h"
int main(int argc, char *argv[])
{
QApplication x(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
B *b=new B();
A *a=new A();
QObject::connect(a,SIGNAL(showB(bool)),b,SLOT(showB(bool)));
a->show();
return x.exec();
}
Qt多窗口布局相关求助
笔者原本以为这是个很容易的问题,早期的想法是在主窗口中使用布局管理器。只能说想法太简单。如果在窗口中放置一般的由QWidget派生出的部件,如QPushButton,QTextEdit等,这自然是可以办到的。但是如果在主窗口中放置QMainWindow,QDialog这样的子窗口,布局管理器就没什么办法。这样放置的结果是这些窗口嵌入到主窗口中了,但是没有标题栏以及最大最小化按钮等边框部分,这应该是QT布局管理器的默认设置。QMainWindow,QDialog的标题栏以及最大最小化按钮等边框部分的显示与否与flag有关: Qt::Window |Qt::WindowMaximizeButtonHint | Qt::WindowMinimizeButtonHint | Qt::WindowTitleHint;只有当Window是一个顶级Window的时候,后面的几个属性才有意义,才有效果。
Qt中顶层窗口与子部件有什么区别
首先介绍一下QWidget的close按钮,按QT文档上的解释,当试图关闭一个窗口,它首先向该窗口发送QCloseEvent事件,窗口响应这个事件,并且隐藏窗口,默认的隐藏操作由QWidget::closeEvent()执行。如果该窗口设置了Qt::WA_DeleteOnClose标志,还将会删除这个窗口。 在没有设置该标记的情况下,窗口仅仅是隐藏而没有被删除,只有在该窗口是最后一个可视的窗口时,关闭该窗口还会发送QApplication::lastWindowClosed()信号,默认情况下会退出程序。 我们以一个QWidget和一个QDialog为例,假如QDialog为QWidget的子窗口,则对话框会显示在窗口的前面,即使焦点在窗口而不在对话框上。 关闭父窗口并不能关闭子窗口,即关闭窗口并不能关闭对话框,除非该窗口是除其子窗口外的最后一个可视窗口。 这里我在使用对话框的时候发现了一个很奇怪的问题,我从QDialog继承了一个对话框 class QMyDialog : public QDialog { public: QMyDialog(QWidget* parent); ~QMyDialog(); } 当构造函数为QMyDialog(QWidget* parent){ this->setParent(parent); }发现对话框为嵌入在父窗口内部,而不是独立的窗口。
当构造函数为QMyDialog(QWidget* parent) : QDialog(parent),即调用其父类的构造函数,对话框才与窗口建立了正常的父子关系。 另外,窗口在析构时应负责删除其所有的子窗口,否则会出错。
以下为关联文档:
突破传统最小化窗口演变为个性化窗口习惯了Windows各种操作界面的你,有没有兴趣尝鲜一下另类一点的窗口最小化功能呢?有的话,就让我们一起进入miniMIZE为我们精心打造的另类窗口最小化的世界吧!miniMIZE发布时间虽...
窗口也玩多标签用小软件实现超酷功能微软Inter Explorer7.0浏览器,以及傲游、世界之窗等浏览器软件,包括不久前考试.大曾为大家推荐的,可将QQ聊天窗口融合到单一窗口中的QQTab软件,均可实现将浏览器页面或QQ聊天窗...
希望大大们教我如何用PPT实现小黑板功能和单选双选判断1.右键单击工具栏,选择控件工具箱.(07版单击工具栏上的开发工具). 2.单击第二个选项(ab),将鼠标移到幻片片上,画出小黑板。 3.双击小黑板,进入编辑窗口.在编辑窗口左下角的属性中,按...
为什么用完驱动人生后在窗口上点击鼠标右键时出现图形属性和那是显卡在菜单上的选项,如果你不喜欢,可以用360安全卫士等软件,来禁止开机启动加载显卡设置程序。或者通过命令方式,我不知道你是哪种显卡,你可以在“运行”中按以下命令来清除...
请教高手:如何在窗口中动态增加或删除控件用 Controls.Remove(控件) 动态删除控件。注意:在VB中只能动态删除那些动态添加的控件;不允许删除在窗体设计器上布置的控件! 示例如下: (1)创建一个VB工程 (2)在Form1上布置两个C...
EXCEL PPT怎么开两窗口!想要获得你说的独立打开的界面 其实就是2次或者多次启用EXCEL程序 需要对文件夹选项进行设置,操作如下: 我的电脑双击打开---工具---文件夹选项---查看类型---找到扩展名XLS文...
请教关于Qt的窗口标题无法正常显示中文的问题// 如果是中文乱码,请设置中文编码即可。 // 设置中文字体编码 #if (qt_version qtextcodec *codec = qtextcodec::codecforname("utf-8"); qtextcodec::setcodecforlocale(cod...
按键精灵有N个窗口可以指定为记事本窗口第一个窗口移动到代码如下,先打开几个空白的记事本文件,然后运行就可以了 电脑屏幕宽度 = Plugin.Sys.GetScRX() HwndEx = Plugin.Window.Search("无标题 - 记事本") MyArray = Split(HwndEx, "|")...
windows编程基础利用WIN32API编写WinMain函数完成窗口类的windows编程基础利用WIN32API编写WinMain函数完成窗口类的,Win32API的小问题:///////////////////////////////////////////////////////////////// 04FirstWindow.cpp文件#in...