QT编程时如何使按钮的颜色发生变化

QT编程时如何使按钮的颜色发生变化,第1张

1Active组,该组的颜色用户当前活动的(active)窗口,即具有键盘或鼠标焦点的窗口;

2Inactive组,该组用语其他的窗口;

3Disabled组,该组用语窗台为不可用的(disabled)的子窗口部件(不包含窗口)

所有Qt窗口部件都拥有一个调色板并使用它绘制自己通常,活动状态的窗口标题栏为蓝色的,而非活动(inactive)状态的窗口的标题栏显示为灰色的;活动状态的窗口和非活动状态的窗口都可以包含状态为不可用的窗口不见,一个不可用的窗口不见(包括该窗口不见包含的子窗口部件)显示为灰色的,用户是无法同它进行交互的通过改变窗口不见的调色板的各个组中的颜色,能够改变窗口不见的显示颜色,比如改变背景色,文本颜色等

可以通过QWidget::palette()获取一个窗口不见的调色板,然后通过QWidget::setPalette()函数为该窗口不见设置修改后的调色板或通过QApplication::palette()函数获取应用程序的调色板,并通过QApplication::setPalette()为该应用程序设置修改后的调色板修改一个窗口部件的调色板只会影响到改窗口部件以及资窗口不见(不包含子窗口);而改变一个应用程序的调色板将会影响到该应用程序的所有窗口部件当对一个窗口不见的调色板已经作了修改后,再对其父窗口部件调色板的修改不会影响到该窗口部件的调色板;同样,对应用程序调色板的修改不会影响已经单独做了调色板修改的窗口部件

调色板类QPallete提供了颜色角色(color roles)概念,是指当前GUI界面中颜色的职责,通过枚举变量QPalette::ColorRole来定义,比较常用的颜色角色有:

QPalete::Window,通常指窗口部件的背景色;

QPalette:WindowText,通常指窗口不见的前景色;

QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色

QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;

QPalette::Button,指按钮窗口部件的背景色;

QPalette::ButtonText,指按钮窗口部件的前景色

1创建微信小程序项目;2在indexwxml文件中添加按钮组件代码;3在indexwxss文件里添加两种按钮样式;4在indexjs文件中添加交互代码来测试效果;5保存编辑的代码并进行调试即可。

可以通过按钮的文本值来控制文字的颜色,比如按钮文本值是“变为蓝色”,在按钮单击事件里写代码,当文本值为“变为蓝色”时,将蓝色赋值给label控件的前景色(即文本颜色)同时将按钮文本值更改为“变为红色”,否则将红色赋值给label控件的前景色(即文本颜色)同时将按钮文本值更改为“变为蓝色”;

也可以不改变按钮的文字来变换文本颜色,已提供一种方式给你,另外的方式你可以自己想想,加油!

import javaapplet;

import javaawt;

import javaawtevent;

import javalangObject;

import javautilRandom;

public class MyApplet extends Applet implements ActionListener

{

Button bt1=new Button("改变颜色");

public void init()

{

add(bt1);

bt1addActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

Random rd=new Random();

int r=rdnextInt(255);

int g=rdnextInt(255);

int b=rdnextInt(255);

Color mycolor=new Color(r,g,b);

setBackground(mycolor);

}

}

右上角的“绿旗”按钮。要停止scratch程序,应点击右上角的“绿旗”按钮。Scratch是麻省理工学院的“终身幼儿园团队”(LifelongKindergartenGroup)2007年开发的图形化编程工具,主要面对青少年开放。

在web设计中,经常用到十六进制颜色。它是将常用的RGB模式的值转换为十六进制得到。如白色的RGB值分别为R:255,G:255,B:255。十进制数255对应的十六进制数就是FF,因此,白色的十六进制表示方法就是FFFFFF,为了区别,通常在十六进制颜色前加上"#"号。

如何得到颜色的十六进制值?

很简单,在Flash MX的工具栏中点击"填充色"按钮,d出颜色样本,将鼠标移动到颜色样本上,上方颜色输入框中就会出现相应的十六进制值。如果要得到颜色样本以外的颜色的十六进制值,则可以单击颜色样本右上角的 按钮,d出标准的Windows取色对话框,选取适当的颜色后,再次单击"填充色"按钮,就可以得到相应颜色的十六进制值:了

import javaawtColor;

import javaawtContainer;

import javaawtFlowLayout;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaxswingJApplet;

import javaxswingJButton;

public class ButtonDemo extends JApplet implements ActionListener

{

/

/

public void init()

{

Container contentPane=getContentPane();

contentPanesetBackground(Colorwhite);

contentPanesetLayout(new FlowLayout());

JButton redButton=new JButton("红色");

contentPaneadd(redButton);

redButtonaddActionListener(this);

JButton blueButton=new JButton("蓝色");

contentPaneadd(blueButton);

blueButtonaddActionListener(this);

JButton greenButton=new JButton("绿色");

contentPaneadd(greenButton);

greenButtonaddActionListener(this);

}

public void actionPerformed(ActionEvent e)

{

Container contentPane=getContentPane();

if(egetActionCommand()equals("红色"))

contentPanesetBackground(Colorred);

if(egetActionCommand()equals("蓝色"))

contentPanesetBackground(Colorblue);

if(egetActionCommand()equals("绿色"))

contentPanesetBackground(Colorgreen);

}

}

以上就是关于QT编程时如何使按钮的颜色发生变化全部的内容,包括:QT编程时如何使按钮的颜色发生变化、微信小程序开发钢琴程序按键颜色怎么弄、编写一个C#窗体程序,程序会显示一行文字(颜色是默认红色),和一个按钮(红、蓝),单击按变成蓝色等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10161993.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存