在QPushButton上添加一行

时间:2015-04-09 21:07:56

标签: c++ qt

我正在创建一个绘制图形的程序;我希望能够有一个按钮,用户可以按下该按钮来选择线条颜色和样式。我希望能够直观地显示当前的选择。

目前,我知道我可以使用两个单独的小部件,一个QPush按钮,然后是我自己制作的小部件,只需使用QPen在它上划一条线。

我想将这两个小部件变成一个小部件。我希望这个小部件是一个用户按下的可按“按钮”,我可以发出信号来运行设置新QPen的例程。

此功能是否已内置?或者我是否需要创建一个重新实现QPushButton或QActionButton的新窗口小部件?或者我应该只是制作我的小部件,在其上监听鼠标点击事件并从那里创建一个信号槽?

1 个答案:

答案 0 :(得分:0)

您可以使用QLabel,设置样式表,并将其用作图表上的线条。您可以使用QGroupBox的边界来定义x和y轴。

也许是这样的:

yourQLabel.setStyleSheet("QWidget {background-color: rgb(255, 0, 0); color:white; border: 1px solid black;}"); // red with black border

然后,您可以根据图表的值设置QLabel的高度,宽度和位置。当然,这仅适用于图表上的线条为矩形的情况。如果他们不是,那么您可能不得不使用QLabel以外的其他内容。

使用QLabel的setGeometry方法设置此项。

yourQLabel.setGeometry(x, y, width, height);

就您的按钮而言,如果您愿意,您可以执行类似的操作。 QPushButton也有setGeometrysetStyleSheet方法。

如果您希望告诉您的按钮在点击时执行某些操作,假设您有一个名为QPushButton的{​​{1}}对象,请将其添加到您的头文件(.h)中:

myButton

然后在源文件(.cpp)中:

class YourClass
{
    Q_OBJECT
    //...
    private slots:
        void on_myButton_clicked();
}