我正在开发一个即时消息客户端,我正在寻找一种像 Pigdin 或 Yahoo Messenger 那样显示联系人的方法。我正在查看树小部件,但是有没有办法自定义这些项目?我希望它们看起来像这样:

去除文件名后缀的正则表达式是什么?例如,如果我有一个字符串中的文件名,例如“vnb.txt”,那么删除“.txt”的正则表达式是什么?谢谢。
我如何开始创建我的应用程序将使用的 ts 文件?
在语言学家的选项中,我无法用自己的话和翻译创建一个新的……我只能翻译一个已经存在的 ts 文件。
有没有一种简单的方法可以在 Qt4 中拥有类似 iTunes 的界面(使用Miller Columns),还是我必须自己创建一个 MillerColumnWidget ?
我正在为我的屏幕创建一个错误消息框。我使用 QDialogButtonBox 作为按钮。现在我想用不同的颜色填充按钮。例如:“确定”--> 绿色“取消”--> 红色等。我可以更改所有按钮的背景,但不能单独更改。
有没有办法做到这一点?
提前致谢 !!!!
for(i=0; i<height; i++)
{
for(j=0; j<width; j++)
{
button[i][j] = new QPushButton("Empty", this);
button[i][j]->resize(40, 40);
button[i][j]->move(40*j, 40*i);
connect(button[i][j], SIGNAL(clicked()), this, SLOT(changeText(button[i][j])));
}
}
Run Code Online (Sandbox Code Playgroud)
如果我用函数(例如全屏)更改了函数changeText,它可以工作,但是当我使用我定义的插槽(changeText)时,会出现此错误,我不知道如何解决它
QObject::connect: No such slot buttons::changeText(&button[i][j])
Run Code Online (Sandbox Code Playgroud)
这是函数changeText:
void buttons::changeText(QPushButton* button)
{
button->setText("Fish");
}
Run Code Online (Sandbox Code Playgroud)
注意:在头文件中我定义了这样的插槽:
类按钮:公共 QWidget
Q_OBJECT
public slots:
void changeText(QPushButton* button);
Run Code Online (Sandbox Code Playgroud) 我的对话框中有一个回调来监听 QListWidget 中的项目选择:
...
QListWidget* listWidget;
...
MyDialog::handleSelectionChanged(const QItemSelection& selection) {
if (selection.indexes().isEmpty()) {
std::cout << "NOTHING SELECTED" << std::endl;
// TODO: how to get the actual QListWidgetItem here!?
}
else {
bool selected = LoadedFilesListWidget->selectionModel()->isSelected(selection.indexes().first());
std::cout << "ITEM CHANGE: " << (selected ? "SELECTED" : "UNSELECTED") << std::endl;
// TODO: how to get the actual QListWidgetItem here!?
}
}
Run Code Online (Sandbox Code Playgroud)
正如您在待办事项中看到的,我不知道如何从 QItemSelection 对象中获取关联的 QListWidgetItem。我可以使用listWidget类变量访问列表小部件。任何帮助是极大的赞赏。
我正在尝试更改 QMenu 上标签/文本的样式和/或字体,而不影响它的子项。我使用 PySide 在 Python 中执行此操作(其工作方式与 Qt 类似)。
我试过了:
menu = QtGui.QMenu()
f = menu.font()
f.setBold(True)
menu.setFont(f)
Run Code Online (Sandbox Code Playgroud)
和
menu = QtGui.QMenu()
menu.setStyleSheet("QMenu{font-weight: bold;}")
Run Code Online (Sandbox Code Playgroud)
这两者都不会更改菜单本身的标签,但会对其所有子项执行此操作。
我更愿意直接在 QMenu (或另一个类,如果它的行为类似并且使其成为可能)上设置样式,而不是在其父级上应用样式表。
目标
我的想法是,我有一个带有各种子菜单的菜单(这些子菜单在某种程度上是基于服务器上的文件夹的动态),其中一些需要是粗体,一些是斜体。因此,我想动态添加这些子 QMenu 并相应地设置它们的样式。
我想在QLineEdit字段中使用放大镜(U + 1F50E) Unicode符号.我想出了如何使用QChar使用16位unicode符号但是我不知道如何使用由5个十六进制数字表示的unicode符号.
QLineEdit edit = new QLineEdit();
edit.setFont(QFont("Segoe UI Symbol"));
edit.setText(????);
Run Code Online (Sandbox Code Playgroud)
到目前为止,我尝试过:
edit.setText(QString::fromUtf8("\U0001F50E"));
Run Code Online (Sandbox Code Playgroud)
哪给了编译器警告:
warning C4566: character represented by universal-character-name '\UD83DDD0E' cannot be represented in the current code page
Run Code Online (Sandbox Code Playgroud)
并显示为:??
我也尝试过:
edit.setText(QString("\U0001F50E"));
Run Code Online (Sandbox Code Playgroud)
哪给了编译器警告:
warning C4566: character represented by universal-character-name '\UD83DDD0E' cannot be represented in the current code page (1252)
Run Code Online (Sandbox Code Playgroud)
并且还给了:??
我尝试了你可以用QChar尝试的一切.我也尝试切换我的CPP文件的编码并复制和粘贴符号,这不起作用.
我使用Qt4.8创建一个按钮,然后我使用setStyleSheet函数为这个按钮和工具提示设置样式.但是这个代码只适用于按钮和工具提示是行不通的.这是我的代码
QPushButton *status_label;
Run Code Online (Sandbox Code Playgroud)
这 - >
cellGUI.status_label-> setStyleSheet(QString :: fromUtf8("QPushButton {color:#E6E6E6; font-weight:bolder; font-family:tahoma; font-size:6px; background-color:rgb(255,153,0)) } QPushButton :: QToolTip {color:#2E2E2E; background-color:#CCCCCC; border:none}"));
请帮我.
qt4 ×10
qt ×6
c++ ×3
encoding ×1
pyqt ×1
pyside ×1
python ×1
python-2.7 ×1
qmessagebox ×1
qt-creator ×1
regex ×1
stylesheet ×1
unicode ×1