当前位置:编程学习 > wap >>

关于QCOMBOBOX选择完成后文字颜色问题

--------------------编程问答-------------------- 可以,接收到currentIndexChanged(QString)信号时改变控件的样式就行了 --------------------编程问答-------------------- 哈哈,又见面了.
给你两种办法,都不完美.自己取舍.

A)

QPalette plt = ui->comboBox->palette();
plt.setColor(QPalette::Text, QColor(150, 10, 55));
ui->comboBox->setPalette(plt);



B)

ui->comboBox->setStyleSheet("QComboBox{color:red;}");
ui->comboBox->setStyleSheet("QComboBox{color:rgb(255,255,0);}");
ui->comboBox->setStyleSheet("QComboBox{color:#ff00ff;}");
--------------------编程问答--------------------
引用 2 楼 n7zj0x8 的回复:
哈哈,又见面了.
给你两种办法,都不完美.自己取舍.

A)

QPalette plt = ui->comboBox->palette();
plt.setColor(QPalette::Text, QColor(150, 10, 55));
ui->comboBox->setPalette(plt);



B)

ui->comboBox->setStyleSheet("QComboBox{color:red;}");
ui->comboBox->setStyleSheet("QComboBox{color:rgb(255,255,0);}");
ui->comboBox->setStyleSheet("QComboBox{color:#ff00ff;}");

哈哈兄弟刚才问题解决后一激动把那个帖子结了,忘记忘记一起问这个问题了。

其实我发现QT在自定义QCOMBOBOX这块很不方便,我做了个自定义带多选CHECKBOX的COMBOX,如果把COMBOX设置成只读我就根本没法设置选择后最终显示的文字,显示是空白 --------------------编程问答--------------------
引用 3 楼 cnyfkk 的回复:
自定义带多选CHECKBOX的COMBOX,如果把COMBOX设置成只读我就根本没法设置选择后最终显示的文字,显示是空白

截个图说详细点,没有明白你的意思.如果有代码会更好. --------------------编程问答--------------------
引用 4 楼 n7zj0x8 的回复:
Quote: 引用 3 楼 cnyfkk 的回复:

自定义带多选CHECKBOX的COMBOX,如果把COMBOX设置成只读我就根本没法设置选择后最终显示的文字,显示是空白

截个图说详细点,没有明白你的意思.如果有代码会更好.


其实主要意思是,下拉列表里选择了某项后,按道理我图中显示"ABCDEFG"的那个地方应该显示对应的选中项的内容。但是如果我使用QLISTWIDGET(这里面定义了多行CHECKBOX)作为VIEW的COMBOBOX后,选中一行后,显示ABCDEFG的那个地方没有对应的内容显示 --------------------编程问答-------------------- 你是怎么把QListWidget 设置成ComboBox的View的,通过,ComboBox的SetView()这个函数?
貌似这个函数只接受View,而不是Widget,

如果是你自己定义的控件,那么你应该在选中某项的时候,手动的去设置Combobox的值.
你选中的是QListView的item,那这样Combobox上面显示的也应该是QListView的item的文字,而不是checkbox上面的文字.
--------------------编程问答--------------------
引用 6 楼 n7zj0x8 的回复:
你是怎么把QListWidget 设置成ComboBox的View的,通过,ComboBox的SetView()这个函数?
貌似这个函数只接受View,而不是Widget,

如果是你自己定义的控件,那么你应该在选中某项的时候,手动的去设置Combobox的值.
你选中的是QListView的item,那这样Combobox上面显示的也应该是QListView的item的文字,而不是checkbox上面的文字.

是的我是手动设置文字但是,我是利用COMBOBOX的LineEdit来设置的,但是在只读的情况下好像设置LineEdit好像没有用
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,